欢迎光临
我们一直在努力

jmeter常用四种断言

本站教程收集整理的这篇文章主要介绍了jmeter常用四种断言,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

jmeter常用四种断言

一、Response Assertion(响应断言)
二、Size Assertion(数据包字节大小断言)
三、Duration Assertion(持续时间断言)
四、beansHell 断言(自由断言)

?

一、Response Assertion(响应断言)

1. 添加响应断言

对Web请求的响应结果进行验证

?

2. 输入需要匹配的字符串

此处对于访问Baidu首页,需要设置匹配的字符串为“百度一下,你就知道”,表示返回的文本内容若包含有“百度一下,你就知道”,则就算Pass

?

Response Assertion配置参数

?

@H_770_68@main sample and sub-samples

@H_770_68@main sample only

@H_770_68@matches

模块类型 选项名称 配置说明
Name ? Response Assertion名称
Comments ? 注释
Apply to ? 断言应用的范围
? 作用于父节点取样器及其子节点取样器
? 仅作用于父节点取样器
? Sub-samples only 仅作用于子节点取样器
? Jmeter Variable Name to use 作用于Jmeter变量(输入框中可输入Jmeter的变量名称)
Field to Test ? 测试的字段
? Text Response 匹配从服务器返回的响应文本(不包括Response Headers)
? Response Code 匹配响应状态码
? Response message 匹配响应信息。如:OK
? Response Headers 匹配响应头
? request Headers 匹配请求头
? URL Sampled 匹配URL链接
? Document(text) 匹配文档内容
? Ignore Status 一个请求多项响应断言时,忽略某一项断言的响应结果,而继续下一项断言
? request Data 匹配请求数据
Pattern Mactching Rules ? 匹配的规则
? Contains 返回的结果包括所指定的内容,支持正则匹配
? 根据指定内容进行匹配
? Equals 返回结果与所指定的内容一致
? SubString 返回结果包括所指定结果的字符串,不支持正则匹配
? Not 不进行匹配就算是Pass
? Or 暂不确定该模式的用法
Patterns to Test ? ?
? Patterns to Test 需要匹配的正则表达式、字符串。可以添加多项,每一项会分开进行验证,若某一项验证失败,则其后的不会再进行验证。

3. 添加:断言结果(Assertion Results)、查看结果树(View Results TreE)

4. 运行Test Plan中的线程组,进行断言检查

以下可观察到响应数据中是包含所指定的验证字符串,Pass

?

?

?

二、Size Assertion(数据包字节大小断言)

?判断响应结果是否包含正确数量的byte。可定义(=,!=,>,<,>=,<=)

?

?

?

三、Duration Assertion(持续时间断言)

?判断是否在给定的时间内返回响应结果

?

?

?

四、beansHell 断言

Bean SHell常用内置变量

   JMeter在它的BeanSHell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:

log:写入信息到jmeber.log文件,使用方法:log.info(“This is log info!”);

ctx:该变量引用了当前线程的上下文,使用方法可参考:org.apache.jmeter.threads.JMeterContext。

vars?- (JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanSHell交互的桥梁,常用方法:

    a) vars.get(String key):从jmeter中获得变量值

    b) vars.put(String key,String value):数据存到jmeter变量中

    更多方法可参考:org.apache.jmeter.threads.JMeterVariables

props?- (JMeterProperties – class java.util.Properties):操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。对应于java.util.Properties。

    a) props.get(“START.HMS”);  注:START.HMS为属性名,在文件jmeter.properties中定义

    b) props.put(“PROP1″,”1234”);

prev?- (SampleResult):获取前面的sample返回的信息,常用方法:

    a)?getResponseDataAsString():获取响应信息

    b)?getResponseCode() :获取响应code

    更多方法可参考:org.apache.jmeter.samplers.SampleResult

sampler?- (Sampler):gives access to the current sampler

?

?在这里除了可以使用beansHell的内置变量外,主要通过 Failure 和 Failuremessage来设置断言结果。

?

其中脚本内容如下:

@H_675_434@if (“200”.equals(“”+ResponseCodE) == false )
{
// 响应码不等于200时,设置断言失败,并输出失败信息
Failure=true ;
Failuremessage
=”Response code was not a 200 response code it was ” + ResponseCode + “.” ;
print (
“the return code is ” + ResponseCodE); // this goes to stdout
log.warn( “the return code is ” + ResponseCodE); // this goes to the JMeter log file
} else {
// 响应码等于200时,设置断言成功,并输出成功信息
Failure=false;
Failuremessage
= “Return true,and the response code was ” + ResponseCode;
}
}

便宜美国vps

本站总结

以上是本站教程为你收集整理的jmeter常用四种断言全部内容,希望文章能够帮你解决jmeter常用四种断言所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。