jmeter基础
如何只请求一次登录接口
jmeter的setUp线程组为我们提供了方便,它一般用于请求的前置操作,比如登录,连接DB等。
新建setUP线程组
如图,右键测试计划选择setUP线程组

如何提取token并将其设为全局变量
新建json提取器
在登录请求下面新建json提取器

login_token为自定义d的token名称,$.data.authorization_uc为jsonpath,1为匹配次数。
设为全局变量
在登录请求下新建beanshell后置处理器,提取login_token的值命名为token

__setProperty(Property Name, Property Value, True/False)函数:setProperty函数设置一个JMeter属性的值。该函数的默认返回值是空字符串,所以该函数调用可以在任何函数有效的地方使用。
通过设置可选的第3个参数为 “true”,可以返回原始值。
属性对JMeter来说是全局的,所以可以用来在线程和线程组之间进行通信
| 参数 | 说明 | 是否必填 |
|---|---|---|
| Property Name | 变量名称,自定义 | 是 |
| Property Value | 变量值 | 是 |
| True/False | 是否返回原始值,默认为False,为True会返回一个空值 | 否 |
如何实现接口关联
接口关联是接口测试中绕不开的话题,比如,以下我们要通过get请求一个物资库的数据,这个接口必须要登录后才能获取数据,不然将抛出401错误。
新建线程组及请求
这个线程组是普通的用户线程组

新建HTTP信息头管理器
我们的token需要放到headers里面发送给服务器,然后用__P函数提取全局变量token

__P(Property Name, Default Value)函数:一个简化的属性函数,旨在用于在命令行上定义的属性。与__property函数不同的是,没有选项可以将值保存在一个变量中,如果没有提供默认值,就假定它是1。选择1的值是因为它对常见的测试变量有效,如循环、线程数、斜率等。
| 参数 | 说明 | 是否必填 |
|---|---|---|
| Property Name | 要提取的变量名称 | 是 |
| Default Value | 可以自定义默认值,如果未设置,则默认值为1 | 否 |
以上操作无误后,该线程组下所有请求发送时都会自动带上登录后的token了
如何一键切换测试环境
可以通过创建HTTP请求默认值管理器,设置多个接口的base_url,要执行哪个环境,将其他环境禁用即可。

参考链接
更多推荐
所有评论(0)