0


Jmeter之接口测试

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. 概念

接口测试步骤:接口文档解析、接口用例编写、使用工具执行接口测试用例
请求头详解:

  1. Accept: application/json, text/plain, / 告诉服务器我可以接收的内容类型(Content-types)
  2. Accept-Encoding: gzip, deflate 接收的压缩格式。例如 Accept-Encoding: gzip, deflate;DEFLATE和GZIP理解为两种压缩算法
  3. Accept-Language: en-US,en;q=0.9,zh;q=0.8,zh-CN;q=0.7 浏览器接收的语言,其实也就是用户在什么语言地区,例如简体中文的就是 Accept-Language: zh-CN
  4. Authorization: Bearer ee85ed4e-d0e0-4465-bb81-31aaff1e33765 这个是我自己在代码中设置的请求头,这个字段存储用户的登陆认证信息,用于服务端校验
  5. Connection: keep-alive 告诉服务器这个user agent(通常就是浏览器)想要使用怎样的连接方式。值有keep-alive和close。http1.1默认是keep-alive。 keep-alive就是浏览器和服务器的通信连接会被持续保存,不会马上关闭,而close就会在response后马上关闭。(我们说HTTP是无状态的,跟这个是否keep-alive没有关系,不要认为keep-alive是对HTTP无状态的特性的改进)
  6. Host:被请求服务器的域名或IP地址,如果不是通用端口,还包含该端口s号。 例如:Host: www.some.com:182 设置服务器域名和TCP端口号,如果使用的是服务请求标准端口号,端口号可以省略 Host: en.wikipedia.org:8080 Host: en.wikipedia.org
  7. 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 不是自己的服务器,就将其拦截。
  8. 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文件,里面写需要上传的账户信息;
在这里插入图片描述

在这里插入图片描述

4.3 app脚本录制

4.3.1 环境设置

在这里插入图片描述

4.3.2 脚本联调

在这里插入图片描述

标签: 测试工具

本文转载自: https://blog.csdn.net/Y1730008223CONG/article/details/126243881
版权归原作者 Ashley zhao 所有, 如有侵权,请联系我们删除。

“Jmeter之接口测试”的评论:

还没有评论