【Jmeter】调试取样器(Debug Sampler)进行调试

一、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

原文地址:https://www.cnblogs.com/mumuluo/p/13928545.html