一、Debug Sampler(调试器取样器)进行调试
添加方式:右键线程组->添加->取样器->调试取样器
参数说明:
JMeter properties和System properties:通常都选false,这两个就是JMeter和系统的属性,在Jmeter的bin的jmeter.properties中定义,一般都不会变
JMeter variables:这个是我们自已定义的变量,定义的方式有如下这些:
1) 选中测试计划(Test plan),在右边的面板上添加User Defined Variables
2) 选中线程组,右键选择 配置元件( config element)-->User Defined Variables
3) 通过后置处理器生成的变量
4) 使用csv参数化的变量
二、四种方式具体案例
1.添加方式:右键测试计划-->配置元件-->用户定义的变量(User Defined Variables),变量名为:case1,变量值:测试计划-用户定义的变量
2.添加方式:右键线程组-->配置元件-->用户定义的变量(User Defined Variables),变量名为:case2,变量值:线程组-用户定义的变量
3.添加方式:在需要获取数据的http请求上右键-->后置处理器--> 选择JSON提取器或者正则表达式提取器,变量名为:authentication,name ,变量值:接口返回
4.添加方式:右键线程组-->添加-->配置元件-->cvs数据文件配置,变量名:case4,变量值:cvs参数化配置变量
5、运行结果:
总结:
1、Debug Sampler会把我们自定义的变量输出在response data中,方便我们调试的时候使用
2、在正式执行脚本时需要删除Debug Sample
运行后发现对结果有些疑问,查询一些资料后得以解决:
1.为什么通过正则表达式提取器中变量会包含_g、_g0、g1这种形式呢?
变量名:正则表达式提取的结果;
变量名_g:根据匹配规则所匹配的数量;
变量名_g0 :根据匹配规则所匹配的全部内容 ;
变量名_g1:根据匹配规则匹配出符合条件的内容;
举个例子(提取多个字符串):
假设想要从web页面的以下部分进行匹配:
name=“file.name” value=“readme.txt”
同时提取file.name和readme.txt
添加正则表达式提取器:
引用名:RefName
正则表达式:name="(.+?)" value="(. + ?)"
模板:$1$$2$
参考:https://blog.csdn.net/yue530tomtom/article/details/76571632
2.为什么通过cvs参数化的变量中文显示乱码呢?
网上了解,原来读取csv文件时只需把文件编码自行编辑为GB2312就行了;而读取txt文件时才选择编码为UTF-8;
更改了文件编码方式后正常;
参考:https://www.cnblogs.com/qgc1995/p/12631755.html