Jmeter检查点
一、Response Assertion(响应断言)
1. 添加响应断言
对Web请求的响应结果进行验证,Response Assertion配置参数

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

Response Assertion配置参数
| 模块类型 | 选项名称 | 配置说明 |
|---|---|---|
| Name | Response Assertion名称 | |
| Comments | 注释 | |
| Apply to | 断言应用的范围 | |
| Main sample and sub-samples | 作用于父节点取样器及其子节点取样器 | |
| Main sample only | 仅作用于父节点取样器 | |
| 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 | 返回的结果包括所指定的内容,支持正则匹配 | |
| Matches | 根据指定内容进行匹配 | |
| 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来设置断言结果。


其中脚本内容如下:
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;
}
}

Jmeter检查点的更多相关文章
- Jmeter 检查点
Jmeter的检查点就是插入个断言,但用下来不好用,没LR好用,先放放.
- JMeter 检查点之响应断言(Response Assertion)
检查点之响应断言(Response Assertion) by:授客 QQ:1033553122 JMeter断言用于对sampler(采样器)进行额外检查,且在相同作用域中,每执行完一个samp ...
- Jmeter参数化与检查点
一.Jmeter参数话有3种方法: 1. add->pre processors->user parameter(用户参数) 2.add->config Element->CS ...
- 使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)
http://www.jmeter.cf/loadtesting-jmeter.html 为什么使用jmeter, 它免费开源, 不断发展, 功能逐渐强大. 可以做功能,负载, 性能测试.一套脚本可以 ...
- 【JMeter】教程及技巧汇总(转载)
转载地址:http://www.hissummer.com/jmeter-summary.html 参考/学习资料:http://www.yiibai.com/jmeter/jmeter_build_ ...
- Jmeter 03 Jmeter脚本开发
JMeter 工作区介绍 JMeter Http 协议录制 JMeter 脚本调测 JMeter 关联 JMeter 参数化 JMeter 检查点 JMeter 事务 JMeter 集合点 JMete ...
- Jmeter性能测试配置
目录 Jmeter检查点/断言 Jmeter事务 Jmeter集合点 Jmeter检查点/断言 在上一章节中,我们通过调试脚本,通过人工验证脚本可以完成业务功能, 但在性能测试中,我们希望能通过自动验 ...
- 性能测试学习之路 (二)jmeter详解(jmeter执行顺序 && 作用域 && 断言 && 事务 &&集合点 )
1 Jmeter 工作区介绍 jmeter工作区分为3个部分:目录树.测试计划编辑区域.菜单栏. 2 Jmeter 执行顺序规则 Jmeter执行顺序规则如下: 配置元件 前置处理器 定时器 采样器s ...
- LoadRunner性能测试巧匠训练营
<LoadRunner性能测试巧匠训练营>基本信息作者: 赵强 邹伟伟 任健勇 丛书名: 实战出版社:机械工业出版社ISBN:9787111487005上架时间:2015-1-7出版日期: ...
- JMeter专题系列(五)检查点
JMeter也有像LR中的检查点: JMeter里面的检查点通过添加断言来完成. 检查点:我们对用户名和密码进行了参数化,那么怎样来判断jmeter有没有正确调用t.dat里面的文件呢.当然,我们可以 ...
随机推荐
- ES深分页
一.背景 1.ES默认分页from+size 2.在大数据量和深度分页的时候,效率非常低 二.效率低原因 1.例如要查第501页的10条数据,from为5000,size为10 2.ES会查询并排序5 ...
- python方法、类方法和静态方法的区别
class A: def f1(): pass def f2(self): pass @classmethod def f3(cls): pass @staticmethod def f4(): pa ...
- corkscrew在ssh中发生错误
使用绝对路径 ProxyCommand="corkscrew 127.0.0.1 12345 jump.123.com 2020" abc@efg.com 改为 ProxyComm ...
- 04jsp(2)
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- 如何快速下载xcode等官方app
为了避免xcode ghost类的风险,用app store又是如此的卡,如何解决呢? https://developer.apple.com/downloads/ 这里各种版本的下载. 绝对官方签名 ...
- 吴恩达老师机器学习课程chapter09——异常检测
吴恩达老师机器学习课程chapter09--异常检测 本文是非计算机专业新手的自学笔记,高手勿喷. 本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十五章. 目录 吴恩达老师机 ...
- 【6】python之时间模块
时间模块(time和datetime) 表示时间的方式: 1.时间戳(1970至今的时间间隔总秒数) 2.格式化的字符串(按照固定格式的时间字符串) 3.元组(9个元素形成) ps:UTC世界标准时间 ...
- (转).Net Web开发技术栈
作者:小曾出处:http://www.cnblogs.com/1996V/p/7700087.html 有很多朋友有的因为兴趣,有的因为生计而走向了.Net中,有很多朋友想学,但是又不知道怎么学,学什 ...
- 洛谷P4562 [JXOI2018]游戏
题目 https://www.luogu.com.cn/problem/P4562 沉迷水题无法自拔(感觉校赛要大寄特寄qwq) 思路 可以fa现可怜的检查和员工的通风报信类似一个筛法的过程,当区间中 ...
- Automatic Workload Repository (AWR)自动工作负载存储库
自动工作负载存储库 (AWR)是历史性能数据的存储库,其中包括系统.会话.单个 SQL 语句.段和服务的累积统计信息. AWR 统计数据是性能调优的基础.通过自动收集用于问题检测和调整的数据库统计信息 ...