首页 > 代码库 > 九:给请求加断言

九:给请求加断言

参考: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 监听里面,可以看到所有监听的情况。

九:给请求加断言