接口测试
线程组
线程数
:虚拟用户数,可以理解为是用户的基数Ramp-Up时间(秒)
:限定多少秒内执行完,包括循环次数循环次数
:重复执行多少次,100个用户重复执行3次请求,那就是300次请求Same user on each iteration
:每次循环使用相同的线程调度器
:当勾选上调度器后,下面两个输入框就亮起来了。同时,勾选调度器,必须要勾选上循环次数
右边的永远
,代表死循环。持续时间(秒)
:一直持续重复执行给定的秒数启动延迟(秒)
:不用管,用不到这个
自动判定运行结果
提示
断言
:让程序自动判断预期结果与实际结果是否一致
响应断言
检测一下响应的页面结构是否包含 百度一下,你就知道
,如下图所示
点击添加
按钮,添加规则
如果是测试响应代码是否为符合预期效果,则如下图所示
添加断言之后,如果不符合,在查看结果树中的结果就是一个红色的叉
Json断言
参数化
在对应的 线程组
-> 添加
-> 配置元件
用户定义的变量
设置全局或局部变量,将具体的变量值抽取出来,方便维护测试数据
设置的方式有两种,如下两图所示
测试计划
中也可以设置 用户定义的变量
,这些变量在 测试计划
中可以当作全局变量来使用
单独创建的 用户定义的变量
,就只能在对应 线程组
内使用了
用法是 ${变量名}
,如下图所示
CSV 数据文件设置
类似于是excel的一种文件格式,可以依次读取数据,进行测试
创建csv文件的方式:https://jingyan.baidu.com/article/6766299792be6f54d51b84b3.html
测试用csv文件:websites.csv
案例测试目标:带着不同的域名发送请求,CSV数据文件设置如上图就好,下面是 线程组
、HTTP请求
的配置图片
携带参数进行请求
如下只是最简单的示例,可以自行组合使用
处理接口依赖
例如需要测试接口A
,但是需要用到接口B
返回的数据
可以按照如下步骤来做:
- 从接口B的响应数据中
提取关联数据
保存关联数据
在公共容器
- 访问A接口时引用
公共容器
中的关联数据
提示
当 一个请求的入参数据
是 另一个请求的返回数据
时,就需要处理接口关联
除了下方的 JSON提取器
之外,还有一个 正则表达式提取器
,可以自行学习
JSON提取器
测试案例:
访问 http://www.weather.com.cn/data/sk/101010100.html
,获取其中的 city
值。并作为参数,传递给 https://www.baidu.com
Json提取器中有一个属性 Match NO. (0 for Random)
0
表示随机-1
表示全部值1
表示第一个值
直连数据库
使用场景:请求的参数化
、结果的断言
、准备测试数据
、清理垃圾数据
配置驱动文件
- 将驱动用的jar包放到
lib/ext
目录下,重启JMeter - 在测试计划中手动添加jar包,如下图所示
配置数据库连接信息
自定义配置如下
配置请求信息
自定义配置如下
这也是取样器的一种,所以直接测试连接就好