jmeter工具做接口测试
1.取样器:
就是发送http请求的信息,包括请求url,请求方法、请求参数,与postman添加request请求一样
2.配置元件
http请求默认值,一般同一个项目所用的服务器地址和ip是一致的,还包括所有接口都要使用的公共参数,可以给线程组添加一个这样一个配置元件,设置ip地址,将参数都添加到这个http请求默认值的参数中,那么这个线程组下面的所有请求都能够使用这个http请求默认值,只需要根据每个接口使用到的资源地址不同再在后面进行拼接即可
http信息头处理器:post请求的参数格式如果是json的话,那么必须要设置请求头中content-type的值为application/json,可以给单个请求增加这个配置元件
3.用户定义的变量 使用
在接口中,有些变量存在重复使用的情况,例如账号、密码、登录后获取的token值,可以使用配置元件-用户定义的变量进行配置,在需要用到变量的地方,使用${变量名}使用
4.断言 --json path提取器
接口返回信息后,可以使用json path提取器进行提取,
想要提取相应结果里面的msg值,使用$.msg获取,如果想要获取data里面的token值,使用$.data.token获取
将获取到的token值赋值给变量token
在需要用到token鉴权的接口直接使用${token}来使用token的值
通常情况下,将 Token 放在请求头中时,对应的键名为 "Authorization"。常见的做法是将 Token 放在 "Authorization" 请求头的值中,通常以 "Bearer " 开头(由于项目设置原因,下面这个token是放在URL后面的)
headers = {
"Authorization": f"Bearer {token}"
}
5.csv数据驱动
csv数据文件设置 结合 循环控制器(逻辑控制器里面) 使用,可以将csv文件中的数据依次给到用例
比如在测试注册/登录模块时,需要考虑很多账号和密码异常的情况:
1.账号正确+密码正确
2.账号不存在
3.账号为空
4.密码错误
5.密码为空
6.账号长度不符合
7.账号全部是数字/字母/含有特殊字符.........
这些非等价类可以用一个请求来执行完测试,就要用到csv数据驱动,使用循环控制器将文件的数据进行循环测试,每循环一次,就把文件里面每一行的参数给到测试用例执行
循环控制器,文件中有4组不同的账号和密码,那么就指定循环4次
csv数据文件设置,filename是文件的路径;变量名字是文件中的首行变量;要忽略首行,因为首行是变量名称
6.接口关联
网页需要在用户登录的前提下才能进行操作,即登录之后的操作需要带上登录成功以后返回的token值,使用json提取器将token的值提取出来,并且赋值给一个变量,在需要使用的地方用${变量名}引用,放在其他请求的参数中或者是拼接在url中-------json path
7.数据库数据驱动
jmeter连接数据库:配置元件----JDBC Connection Configuration,填写四项信息:
添加一个JDBC Request,可以直接写sql语句
可将查询出来的值赋值给一个变量,在需要用到的地方${变量名}进行引用
标签:http,请求,账号,json,接口,token,测试,jmeter From: https://www.cnblogs.com/tyl-bok/p/18133377