九:给请求加断言

参考:http://jmeter.apache.org/usermanual/component_reference.html#assertions

背景

在测试过程中,我们需要对某个请求的结果进行判定。

比如我们搜索“你好”,请求发送成功,返回响应码也是200,但是并不能说明返回的响应就是对的,我们可能还需要判定响应结果包含“你好”。这个时候,我们就需要用到Assertion。

Web测试常用的断言

Response Assertion:对Web请求响应结果进行验证。

Duration Assertion:判断是否在给定的时间内收到响应结果。

Size Assertion:判断响应结果是否包含正确数量的byte。可以定义等于、大于、小于或者不等于等等。

添加断言示例

1.  添加断言

添加方法:在需要验证结果的Sampler上右键,Add –> Assertions –> Response Assertion

下图就表示响应文本包含 hello 就算Pass。

Apply to : 需要应用断言的部分。

Response Field to Test:需要验证的响应部分。

Text Response:从服务器返回的响应文本。不包括 HTTP Header。

Response Code:响应码。比如 200.

Response Message:响应信息。比如 OK。

Pattern Matching Rules:匹配规则。

Contains:上面选中的部分包含下面的正则表达式就算Pass

Matches:上面选中的整个部分匹配下面的正则表达式就算Pass。

Equals:上面选中的整个部分和下面的字符串相等就算Pass。不支持正则表达式,同时对大小写敏感。

Substring:上面选中的部分包含下面的字符串就算Pass。不支持正则表达式,同时对大小写敏感。

Not:勾选上之后,会对前面选择的进行反转。比如Matches + Not 就是不匹配就算Pass。

Patterns to Test:需要匹配的正则表达式或字符串。这里可以添加多项。每一项会分开进行验证。如果一条验证失败,后边的不会再进行验证。

按照上面的方法,我们在 search_你好请求的结果加上断言:你好fsdlgggg。这样断言结果应该是Fail的。

在 search_helloworld请求结果加上断言:hello。这样断言结果应该是Pass的。

2. 添加监听

在Thread Group 上右键 , Add –> Listeners –> Assertion Results。

3. 运行

点击运行按钮运行测试计划。

4. 查看结果

可以看到 search_你好 显示为红色感叹号,同时点开有 Response Assertion 。点击 Response Assertion 可以看到具体内容。

search_helloworld 则是绿色的通过。

在 Assertion Results 监听里面,可以看到所有监听的情况。

时间: 2024-10-05 04:01:30

九:给请求加断言的相关文章

Spring对JSON请求加解密

Spring中处理JSON请求通常使用@RequestBody和@ResponseBody注解,针对JSON请求加解密和过滤字符串,Spring提供了RequestBodyAdvice和ResponseBodyAdvice两个接口 具体使用 1.解密: import com.hive.util.AESOperator; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFac

LoadRunner录制登录机票网址,并回放,加断言

回放录制登录过程脚本,加断言 在页面登录的过程如下: 1先进入http://127.0.0.1:1080/WebTours/index.htm 2之后获取userSession信息 3在输入信息后点击登录时,登录过程中会验证userSession的值 这3步中获取userSession是必须的,所以在回放录制的脚本时,要开启关联,否则会因为userSession信息验证的问题导致登录失败,这是系统本身的防刷机制 所以要开启一下关联: 脚本: Action() { /*Correlation co

vue每次请求加头部(shiro+vue)

前后台分离,全局请求加头部 设置全局请求为ajax请求 _axios.interceptors.request.use( function(config) { var accessToken = localStorage.getItem('accessToken'); if (accessToken && accessToken !== '') { config.headers.common['Authorization'] = accessToken; } return config;

jQuery.ajax()通过 HTTP 请求加载远程数据实力详解

通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性. 最简单的情况下,$.ajax()可以不带任何参数直接使用. 注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置. 回调函数 如果要处理$.ajax()得到的数据,则需要使用回调函数.beforeSend.e

Postman基本使用——get、post请求、断言、环境变量

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 它提供功能强大的 Web API & HTTP 请求调试. 它能够发送任何类型的HTTP 请求 (GET,HEAD, POST, PUT..), 附带任何数量的参数+ headers. Postman功能: 主要用于模拟网络请求包 快速创建请求 回放.管理请求 快速设置网络代理 目录 get请求 post请求 get和post的区别 header请求头 查看响应结果 断言Tests 管理请求 模块管理folder

Jquery.ajax 详细解释 通过Http请求加载远程数据

首先请看一个Jquery.ajax的例子 $.ajax({ type: "GET", url: "/api/SearchApi/GetResults", dataType: "json", data:{ filter: "test", pageNumber: 1, pageSize: 5 }, success: function(data){ // do something }, complete: function(XMLH

RxJava异步请求加载状态控制

在我看来,RxJava最大的特点就是异步,无论你是解析复杂的数据或是IO操作,我们都可以利用它内置的线程池进行线程间的调度,简单的使用 subscribeOn(Schedulers.io()).doOnNext(...) observeOn(AndroidSchedulers.mainThread()).doOnNext(...) 这种操作就可以指定操作在你想要的线程里执行. 当然,网络请求这种耗时的操作肯定也是要放在子线程执行的,那么是异步操作,我们就会有等待时间,安卓里通常的做法是在界面上盖

ajax()方法是jQuery底层的ajax实现,通过HTTP请求加载远程数据。

1 $.ajax({ 2 type: "GET", 3 url: "handleAjaxRequest.action", 4 data: {paramKey:paramValue}, 5 async: true, 6 dataType:"json", 7 success: function(returnedData) { 8 alert(returnedData); 9 //请求成功后的回调函数 10 //returnedData--由服务器返回

android源码解析(十九)-->Dialog加载绘制流程

前面两篇文章,我们分析了Activity的布局文件加载.绘制流程,算是对整个Android系统中界面的显示流程有了一个大概的了解,其实Android系统中所有的显示控件(注意这里是控件,而不是组件)的加载绘制流程都是类似的,包括:Dialog的加载绘制流程,PopupWindow的加载绘制流程,Toast的显示原理等,上一篇文章中,我说在介绍了Activity界面的加载绘制流程之后,就会分析一下剩余几个控件的显示控制流程,这里我打算先分析一下Dialog的加载绘制流程. 可能有的同学问这里为什么