1. 添加token和Cookie
其他业务都是依赖于登录成功而执行的。所以获取登录成功后的token和Cookie。结合Fidder或者wireshark进行抓包。
1.1 添加token方法
添加“HTTP token管理器”,添加正则表达式,并在需要token的地方进行引用即可。如下图;
token
token=“(.*)” data-id=”
`$1$`
1.2. 添加Cookie方法
方法一:可直接在最前面加“HTTP Cookie管理器”,不填写数据;
方法二:添加“HTTP Cookie管理器”,添加正则表达式,并在需要Cookie的地方进行引用即可。如下图;
cooike
JSEESSIONID=(.*);Path=/futureloan
`$1$`
2. 概念
接口测试步骤:接口文档解析、接口用例编写、使用工具执行接口测试用例
请求头详解:
- Accept: application/json, text/plain, / 告诉服务器我可以接收的内容类型(Content-types)
- Accept-Encoding: gzip, deflate 接收的压缩格式。例如 Accept-Encoding: gzip, deflate;DEFLATE和GZIP理解为两种压缩算法
- Accept-Language: en-US,en;q=0.9,zh;q=0.8,zh-CN;q=0.7 浏览器接收的语言,其实也就是用户在什么语言地区,例如简体中文的就是 Accept-Language: zh-CN
- Authorization: Bearer ee85ed4e-d0e0-4465-bb81-31aaff1e33765 这个是我自己在代码中设置的请求头,这个字段存储用户的登陆认证信息,用于服务端校验
- Connection: keep-alive
告诉服务器这个user agent(通常就是浏览器)想要使用怎样的连接方式。值有keep-alive和close。http1.1默认是keep-alive。
keep-alive就是浏览器和服务器的通信连接会被持续保存,不会马上关闭,而close就会在response后马上关闭。(我们说HTTP是无状态的,跟这个是否keep-alive没有关系,不要认为keep-alive是对HTTP无状态的特性的改进)- Host:被请求服务器的域名或IP地址,如果不是通用端口,还包含该端口s号。
例如:Host: www.some.com:182
设置服务器域名和TCP端口号,如果使用的是服务请求标准端口号,端口号可以省略
Host: en.wikipedia.org:8080
Host: en.wikipedia.org- Referer: http://appm.com:12080/
Referer 首部包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。
组成:协议+域名+端口号+路径+参数(注意,不包含 hash值)
例子:http://test.com:1998/home
在以下几种情况下,Referer 不会被发送:
来源页面采用的协议为表示本地文件的 “file” 或者 “data” URI;
当前请求页面采用的是非安全协议,而来源页面采用的是安全协议(HTTPS);
直接输入网址或通过浏览器书签访问;
使用 JavaScript 的 Location.href 或者是 Location.replace();
使用 html5 中 noreferrer
用途:服务端一般使用 Referer 首部识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等,还有个常见的用途是图片防盗链。
防盗链原理是:当用户访问网页时,referer就是前一个网页的URL;如果是图片的话,通常指的就是图片所在的网页。当浏览器向服务器发送请求时,referer就自动携带在HTTP请求头了。图片服务器根据这个请求头判断,如果 referer 不是自己的服务器,就将其拦截。- Origin: http://appmanagement.cdt.test.cq.ctc.com:12080
请求首部字段 Origin 指示了请求来自于哪个站点。该字段仅指示服务器名称,并不包含任何路径信息。除了不包含路径信息,该字段与 Referer 首部字段相似。
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36
用户的客户端信息,如上代表系统是Windows 10 浏览器是Chrome(谷歌)
2.1 正则表达式提取器
$1$
匹配第一个()中的值**
正则表达式之头提取器
匹配不到与边界,所以去掉有边界的匹配:
2.2 提取器
3. 实例
3.1 微信平台实例
3.1.1 接口文档
1)登录
2)入参和返回值
3.1.2 测试方案设计
3.1.3测试用例设计
3.2 批量注册账户
3.2.1 注册接口文档
3.2.2 使用CSV Data Set Config
1)创建一个.txt文件,里面写需要上传的账户信息;
2)创建一个CSV Data Set Config
写上需要上传的(.CSV文件)文件名;
文件首行列表名用英文逗号隔开;
默认忽略第一行:True;
3)填写参数化的参数(Mobilephone)
3.3 批量上传文件实例
1)创建一个.CSV文件,里面写需要上传的每个文件的大小、名称和路径;
2)创建一个CSV Data Set Config
写上需要上传的(.CSV文件)文件名;
文件首行列表名用英文逗号隔开;
默认忽略第一行:True;
3)填写参数化的参数(Parameter和Files Upload)
4. web登录脚本录制
4.1 环境设置
4.2 优化录制
1. 设置代理并启动录制
2. 录制脚本优化规则
过滤后的脚本
3. 添加察看结果树并运行
看回放结果:
4. 进行参数化优化
账户可以进行参数化
使用CSV Data Set Config,创建一个.txt文件,里面写需要上传的账户信息;