1、用户定义的变量(User Defined Variables)
用于存放不需要随迭代发生改变的参数(只取一次值的参数),比如host、端口号、url
添加>配置元件>用户定义的变量,设置host和url
在请求中引用:${需要引用的变量}
测试过程中,可能有多个url或者一些公共的变量,使用这种方式定义会方便很多
2、CSV Data Set Config
同一个变量有多组值时,可以使用这种方式,比如验证多个用户登录。
文件内容:
添加>配置元件>CSV Data Set Config
文件名:选择文件路径
文件编码:不填写使用默认编码,如果出现中文乱码可使用utf-8
变量名:定义文件中的键和值,即每一列的列名,并用英文逗号隔开
设置线程组的线程数和文件行数一致
在http请求中调用也是使用:${需要引用的值}
添加一个调试取样器可以查看取到的值
3、函数助手
测试过程中,需要生成一些随机变量,比如订单号不能重复,可以用函数助手常用的几个函数来生成。引用的时候直接引用函数的表达式即可
__Random随机数,填写最小值和最大值,点击生成即可生成函数表达式
__time获取当前时间
4、用户参数(User Parameters)
这个方式和CSV Data Set Config有着异曲同工之妙
添加>前置处理器>用户参数,设置2组数据,线程组中设置线程数为2
添加一个调试取样器查看取到的值,可以看到请求了两次,分别是用户1和用户2 的数据
“每次迭代更新一次”选项控制参数取值的变化规则,如果选中该选项,则参数的值在每个迭代中保持不变,在新的迭代开始时取下一个值。如果取消该选项,则参数值在每个在其作用域内的sampler发出请求时取下一个可用值。
5、正则表达式提取器
测试过程中,会遇到token动态变化/需要从上个接口的返回取值的情况
添加>后置处理器>正则表达式提取器
对应参数的含义:
参数 | 释义 |
---|---|
引用名称 | 在HTTP等请求中,引用此数据,需要用到的名称 |
正则表达式 | 用于将需要的数据提取出来 |
模板 | 表示使用提取到的第几个值:$1$:表示取第1个 $2$:表示取第二个 以此类推:$n$:表示取第n个 |
匹配数字(0代表随机) | 0 代表随机取值,-1 代表全部取值 |
缺省值 | 如果正则表达式没有搜找到值,则使用此缺省值 |
正则表达式的含义:
常用的正则表达式
(.*?) 匹配0个或多个
(.+?) 匹配1个或多个
可以添加Debug Sampler查看是否取到值,再使用$在下一个接口引用即可
6、json提取器
添加>后置处理器>json提取器
Name of created varibles:自定义,引用这个值所用的名称
Json Path expressions:$.需要引用值的路径
Math No.(0 for Random):提取第几个值,0是随机,1是第1个,-1是全部
**Compute concatenation var(suffix_ALL) :如果找到许多结果,则插件将使用’ , '分隔符将它们连接起来,并将其存储在名为 _ALL的var中
Default Values: 缺省值,匹配不到值的时候取该值,可写error
如果参数是在数组里,则json引用需要使用这种格式$.data[0].[username],表示数组中第一组json中的username的值