调用登录接口登录了,其他的接口怎么保持登录状态呢?  首先来看一看,web端或者说客户端是怎么样用cookie/token等保持登录状态的.一般来说,cookie都会在登录接口由服务端返回,而且会是在header里面返回,并且,header里面有一个set-cookie这样的key,是的,就是这家伙,会把登录的cookie写到客户端的cookie缓存里,而后,当客户端要请求指向这个path的其它接口时,将此缓存的cookie塞到请求里面请求,服务端认得这个cookie,即认为后面的接口为已登录状…
初使用RequestsLibrary做接口测试时,你会不会感到困惑,为什么会有${resp.content}, ${resp.status_code}这样的写法,这个status_code什么鬼,f5查的时候怎么没说明这个东西,为什么写Demo的人知道可以这么写,我少写个’_’可不可以,还有其它啥高端玩法是我不知道的,这玩意的使用说明到底保存在哪啊喂!说到这个,我们先来了解一下,返回的${resp}是个什么类型的对象,在rf上用个巧妙的方法查看: 运行这段脚本,第4行的打印结果是:INFO :…
最近发现做接口测试的朋友越来越多了,打算写一个系列的rf+requests做接口测试(主要是Http接口)的文档,可以帮助新入门的同学对接口测试有个大概的了解,同时也是敦促自己做总结的一种手段.希望经验丰富的大神路过时,如发现我文档中的不足,提出中肯的批评及更好的解决思路.以期共同进步. 一.环境准备 1)默认已经安装robotframework2)默认已经安装requests库3)默认已经安装并成功导入RequestsLibrary4)会用抓包工具,fiddler或Charles都可 用这个库…
凡是涉及一点点有接口关联的,都可能下一个接口需要上一个接口的某个返回值作为入参,最直接的例子,就是登录依赖.用接口做业务性的测试,也绝对离不开接口依赖的,业务都是一系列接口串联的结果,有时候一个接口操作的结果,也需另外的接口验证,举几个例子,以某个文章的评论用例为例,我们选取几个评论的冒烟用例来看看吧. 拉取评论列表(list接口) 增加一条评论(add接口) 将评论置顶及取消置顶(stick接口) 删除评论(delete接口) 用例1很简单,仅是个数据读接口没有做写操作,做一些基本的响应校验就…
接口签名是我做接口测试撞到的第一块石头,刚到新公司,本来想默默憋出来一个大招,然后碰到了签名接口,直接给跪了.于是只好找开发哥哥帮忙,把签名算法的java文件拿到,一行行对着用python实现了一遍.大致的心路历程就是这样了,签名其实没什么好讲的,每个公司实现都不一样,java代码转成python代码也要点时间,传参类型和格式一定要对,调试的时候有人帮忙会快很多. 写这篇文章的目的之一,是粗略介绍一下自定义关键字的写法.另一目的是给有接口签名的小伙伴提供一些思路,不至于被一个老是变的字段吓到不敢…
1.编写main.jsp /WebContent/main.jsp 之前用户登录时已把用户存入session <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOC…
Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试   问题引入:做接口测试时,有依赖关系的接口往往不好测试(比如登录状态信息),需要不断抓取cookie中的token等值传入去做身份验证.解决这个问题的办法就是引入interceptor插件,自动把cookie中的登录信息带入到postman中. 1.postman安装: chrome://extensions/打开,把下载好的postman插件拖到里面就…
今天来写一下怎么登录和维持登录状态. 相信登录验证大家都比较熟悉,在Javaweb中一般保持登录状态都会用session.但如果是前后端分离的话,session的作用就没有那么明显了.对于前后端分离的项目目前比较流行的是jwt验证.参考文章:https://blog.csdn.net/qq_27828675/article/details/80923678 其实,作为开发一整个项目来说,以我一年多开发经验来,建议大家先做个需求开发文档,把项目的业务大致构思一下.然后再统一把数据库设计好,把用到的…
目录 登录页面设计 vuex 对应 用户模块 丰富界面 首页相关代码 登录页面设计 该节记录了登录界面的设计,以及 vuex 的简单实用,然后将首页简单搭建完成. 先看最终效果图 先在 views 文件夹下 新建 login/index.vue 文件.用于登录首页 vuex 对应 用户模块 vuex 相关介绍可参考另一篇博文,链接 新建 store/modules/user.js,将登录状态及内容保存到状态管理器中,内容如下: import router from '@/router' expo…
http://chuansong.me/n/1858477 1.RF框架 1.1 RF框架介绍Robot Framework 框架是一个通用的测试框架,一直是由诺西网络(Nokia Siemens Networks Oyj)的人员在维护的.后来诺基亚卖掉了手机业务后,现在更名成诺基亚解决方案网络(Nokia Solutions and Networks)了.现在还是那帮子老外们在维护,已经到 2.9 了,不过 2.9 碰到很多问题,暂时还是用 2.8.7 比较好. 下面介绍一下 RF 的特性:易…
最近离职了, 突然记起来还一个小功能没做, 想想也挺简单,留下代码和思路给同事做个参考. 换工作心里挺忐忑, 对未来也充满了憧憬与担忧.(虽然已是老人, 换了N次工作了,但每次心里都和忐忑). 写写代码反而心里平静了很多. 入正题,上思路,其实很简单 一 场景 用户u1只能在A电脑登录,当在B电脑登录时,A电脑登录状态被取消 二 思路 1.创建一个session监听器去监听session属性的创建 2,用个map储存(如果用户量大可以用KV数据库,如redis之类),K 为用户名, V为sess…
最早用Jsoup是有一个小的爬虫应用要写,发现Jsoup较HttpClient轻便多了,API也方便易懂,上手很快,对于response的Document解析的选择器用的是cssSelector(Jquery)选择器,觉得还不错,后来因为其它原因,没有深入的研究,最近看到一位大神用这个,我也就再学习了一下,顺便把这个用Jsoup做接口测试的相关知识点发出来给大家参考下! 一. 接口测试的相关知识点准备: 1.firefox, firebug安装 2.如何查看请求方式及链接,如下图…
距上次GG V3.7版本(可在广域网部署运行的QQ高仿版 -- GG叽叽V3.7,优化视频聊天.控制更多相关细节)的发布,已经有50天了,这50天对于GG来说,是一个重大的飞跃.因为这段时间通过一些基于GG的实战项目,发现了GG的很多bug和不足之处,我都一一做了修正,并增加了一些基础且必须的功能.这次发布的是GG V4.0版本,又称为GG 2014. 记得在GG早期版本时,园子里的吉日兄跟我留言说:"GG完全不能正式使用......",那时我还不是很服气,后来当我基于GG开发正式项目…
这里我是根据两个项目的实际情况做的总结,方法一(来自项目一)的登录用的是用户名(字符串)和密码,前后端不分离,用form表单传递数据:方法二用的是手机号和密码登录,前后端分离,以json格式传递数据,所以对登录数据的验证是不同的 方法一(利用插件 简单方便): 利用插件 flask_login 的 login_user, login_required, logout_user, current_user方法来实现用户的登入  检查登录  登出  获取当前登录用户. 首先 在view.py文件中做…
用Jmeter+Badboy+Fiddler做接口测试 2016-12-05 目录: 1 简介2 Badboy录制3 Jmeter打开Badboy脚本4 用Fiddler抓请求,补充完善脚本5 测试中遇到问题  5.1 博客园登录名和密码加密  5.2 Jmeter请求消息体中中文问题  5.3 Jmeter响应正文中中文问题 1 简介 返回 在接口测试的时候,会出现没有文档或文档不全的情况,可结合Badboy和Fiddler的进行接口测试 其中, Badboy:录制并导出成jmeter脚本.…
使用postman做接口测试,可以选择请求方式,可以直接输入参数和header,可以编写测试结果的代码,判断是否通过测试 下图为填写接口测试地址.填写接口的参数,点击send发送请求 其中,Params 和 body需要说明一下,因为Params和body都是可以输入参数的,那这两个有什么区别? Params:对应的是get请求方式,在这里输入的参数,会显示在接口地址后(?参数名+参数值) body:对应的是Post请求方式,这里输入的参数,就是接口发送传输的参数了 接口发送请求后,会接收到接口…
Postman 之前是作为Chrome 的一个插件,现在要下载应用才能使用. 以下是postman 的界面: 各个功能区的使用如下: 快捷区: 快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据,导入别人共享的收藏夹测试数据(Import from file, Import from folder, Import from link等),或新建请求.收藏夹.环境变量等. 侧边栏: 包括搜索栏, Request 请求的历史记录和收藏夹管理. 功能区: Request 请求设置,查看 Respo…
Memcached高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.Memcached能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等. Memcached的特点Memcached的缓存是一种分布式的,可以让不同主机上的多个用户同时访问, 因此解决了共享内存只能单机应用的局限,更不会出现使用数据库做类似事情的时候,磁盘开销和阻塞的发生. memcache的优点: 1.解决了高并发访问数据库造成的死锁 2.实现了多客户端的共享缓存 3.读写性快…
Postman 之前是作为Chrome 的一个插件,现在要下载应用才能使用. 以下是postman 的界面: 各个功能区的使用如下: 快捷区: 快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据,导入别人共享的收藏夹测试数据(Import from file, Import from folder, Import from link等),或新建请求.收藏夹.环境变量等. 侧边栏: 包括搜索栏, Request 请求的历史记录和收藏夹管理. 功能区: Request 请求设置,查看 Respo…
本文介绍JMeter如何做web service测试,一般来说web服务,一般指的是HTTP请求相关的内容.这里就介绍一下如何利用JMeter做基于HTTP的web接口测试.接口也叫API(Application Programming Interface),很多我们使用的各种APP,上面的内容显示大部分都调用后台web服务器的接口,有些是网站的接口,有些是solr的接口. 什么是接口? 我们这里举例一个生活中场景来帮助你理解接口.加入你去餐馆点餐,看了菜单,告诉服务员,你要一个宫爆鸡丁,过一会…
Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配:并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性. 它主要是用来模拟各种HTTP请求的(如:get/post/delete/put..等等),Postman与浏览器的区别在于, 有的浏览器不能输出Json格式,而Postman更直观接口返回的结果,下面介绍…
本文解决的问题是目前流行的 Android/IOS 原生应用内嵌 WebView 网页时,原生与H5页面登录状态的同步. 大多数混合开发应用的登录都是在原生页面中,这就牵扯到一个问题,如何把登录状态传给H5页面呢?总不能打开网页时再从网页中登录一次系统吧… 两边登录状态的同步是必须的. 100 多位经验丰富的开发者参与,在 Github 上获得了近 1000 个 star 的全栈全平台开源项目想了解或参与吗?项目地址:https://github.com/cachecats/coderiver…
前提须知 对Vue全家桶有基本的认知. 拥有node环境 了解express 本篇只是介绍登录状态的权限验证,以及登录,注销的前后端http交互.前端布局,后端密码验证等以后有时间再对这些内容进行补充. 一丶业务分析 1.什么情况下进行权限验证? 访问敏感接口 前端向后端敏感接口发送ajax 后端进行session验证,并返回信息 前端axios拦截返回信息,根据返回信息进行操作 进行页面切换 页面切换,触发vue-router的路由守卫 路由守卫根据跳转地址进行验证,如需权限,则发送ajax至…
  前面我们提到HTTP协议的特点:无连接.无状态.无连接带来的时间开销随着HTTP/1.1引入了持久连接的机制得到了解决.现在来关注其"无状态"的特点.   所谓的无状态,就是指服务器不记录用户的信息,对于事务处理没有记忆能力,无法根据之前的状态进行本次的请求处理.这样做虽然简化了服务器的设计,但是实际工作中,一些万维网网点却很希望可以识别用户,记录用户的一些行为,比如购物网站,用户在选号一件物品后,还要继续选购其他物品,此时服务器希望记住用户的身份.再比如对于一个用户登录的页面,无…
一.乱码解决方案 1.jmeter查看结果树乱码 (1)在jmeter的bin目录下找到jmeter.properties这个文件,添加上 sampleresult.default.encoding=utf-8 (2)重启jmeter   2.jmeter body data里面有乱码怎么解决 (1)在jmeter的bin目录下找到jmeter.properties这个文件,添加上 jsyntaxtextarea.font.family=Hack (2)重启jmeter   二.使用jmeter…
目录 一.GET和POST请求的区别 二.http协议 1.http请求分为两个部分 2.http状态码 三.使用postman测试HTTP接口 1.请求方式:get 2.请求方式:post 3.请求方式:post,入参是json类型 4.cookie & session 5.如何添加header信息 6.文件上传接口 四.练习 五.补充知识   一.GET和POST请求的区别   如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请…
一.状态保持的概述 http协议是无状态的.下一次去访问一个页面时并不知道上一次对这个页面做了什么.因此引入了cookie.session两种方式来配合解决此问题. Duplicate entry:重复条目 二.Cookie(存储在客户端) cookie是由服务器生成,存储在浏览器端的一小段文本信息. 1.1 cookie的特点: 0) 服务器通过HttpRessponse的对象set_cookie设置cookie:HttpRessponse.set_cookie 1) 浏览器以键值对方式进行存…
使用Jmeter做接口测试,案例中涉及到接口有:获取学生信息.登录.添加学生信息.学生金币充值.获取所有学生信息.文件上传. 一.获取学生信息(get请求) 服务器名称或IP:输入被请求服务器的名称或IP 请求方法:get 路径:填写接口URL目录路径 Parameters:参数名和值 二.登录 服务器名称或IP:输入被请求服务器的名称或IP 请求方法:post 路径:填写接口URL目录路径 Parameters:参数名和值 三.添加学生信息 服务器名称或IP:输入被请求服务器的名称或IP 请求…
使用postman做接口测试,案例中涉及到接口有:获取学生信息.登录.添加学生信息.学生金币充值.获取所有学生信息.文件上传. 一.获取学生信息(get请求) 请求方式选择:get 直接在访问地址栏中输入:请求URL+[?]+[参数名=值]进行拼接访问,其他都不用设置: 二.登录 请求方式选择:post 直接在访问地址栏中输入:请求URL Body中选择[form-data],key为参数名,value为参数名对应的值.比如要添加参数用户名和密码: 三.添加学生信息 请求方式选择:post 入参…
[技术博客] 利用SharedPreferences来实现登录状态的记忆功能 一.SharedPreferences简介 SharedPreferences是Android平台上一个轻量级的存储辅助类,用来保存应用的一些常用配置,它提供了string,set,int,long,float,boolean六种数据类型.最终数据是以xml形式进行存储.在应用中通常做一些简单数据的持久化缓存. 二.为什么要使用SharedPreferences? 首先我们要理解一下我们的程序是怎么工作的.我们的博客园…