jmeter之断言、数据提取器(正则表达式、jsonpath、beanshell)、聚合报告、参数化

时间:2022-02-06 21:08:07
  • ctx - ( JMeterContext) - gives access to the context
  • vars - ( JMeterVariables) - gives read/write access to variables: vars.get(key); vars.put(key,val); vars.putObject("OBJ1",new Object()); vars.getObject("OBJ2");
  • props - (JMeterProperties - class java.util.Properties) - e.g. props.get("START.HMS"); props.put("PROP1","1234");
  • prev - ( SampleResult) - gives access to the previous SampleResult (if any)
  • sampler - (Sampler)- gives access to the current sampler

ctx 地址:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html

vars 地址:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html

prev地址:http://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html

jmeter中jsonpath用的jar包

本次脚本

一、断言

包含、匹配,如果做性能测试一般都用包含,默认是响应文本

二、数据提取器包括:1、正则表达式提取器;2、jsonpath 提取器;3、beanshell

正则表达式和jsonpath提取器,提取的值可以用在第二次请求用,上一个接口的数据做为下一个接口请求的数据,可以用beanshell里的responseData ,当做一个map,也可以用jsonpath 和正则表达式,jsonpath 的只针对json的格式,正则表达式可以用在不规则的情况下。

1、正则表达式,主要用于提取返回信息中的数据,做判断用。

Apply to:默认即可
要检查的字段:主体等选择,一般我们选择主体,即服务器返回给我们的页面主体信息
引用名称:即参数名称,这个自己定义,在后面时可用
正则表达式: 正则表达式中()括起来的部分就是要提取的。.代表任意字符,+代表出现任意次,后面加?。
模板:$1$代表只有一组数据
匹配数字:0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组
缺省值:如果参数没有取得到值,那默认给一个值让它取

正则表达式 里的引用名 放到beanshell里使用,log.info("myname::::::"+vars.get("myname"));

2、jsonpath

需要添加jar包,

3、beanshell

在beanshell中写入 String responseData = prev.getResponseDataAsString();  引用responseData 这个名字就可以使用了

三、聚合报告里面做性能用的比较多,响应时间主要用的是99%line,代表百分之99的请求响应时间低于多少ms;

聚合报告页面中,在所有数据写入一个文件,文件名写上路径,就可以输出到那个路径jtl 格式的报告,然后可以转换成html格式

四、CSV参数化

FileName:即同目录下csv文件的名称
File Encoding: 默认为ANSI
Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用
Allow Quoated data: 双引号相关
循环Recycle on EOF: 设置为True后,允许循环取值
到最后就停止Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行
Sharing Mode: 设置是否线程共享
设置线程循环为永远,CSV的Recycle on EOF=False,
Stop thread on EOF=True

原文:https://blog.csdn.net/qq_30353203/article/details/77671922