• 0
  • 0
分享
  • 三年整理的Jmeter断言详细使用教程——软件测试圈
  • 恬恬圈 2023-04-23 17:06:36 字数 1519 阅读 1318 收藏 0

  断言介绍与使用

  性能测试中较少用到断言。断言会增加脚本执行时间,但是接口测试中断言是必备的。什么是断言?其实就是功能测试中常说的预期结果和实际结果是否相等。

14-1.png

  响应断言

  ·JSON Assertion

  · Size Assertion

  · JSR223 Assertion

  · XPath Assertion

  · Compare Assertion

  断言持续时间

  · HTML Assertion

  · MD5Hex断言

  · SMIME Assertion

  XML断言

  · XML Schema Assertion

  · BeanShell断言

  1、响应断言

14-2.png

  见图知意。接口测试中较少用到。

  2、JSON Assertion

14-3.png

  也算是见图知意吧,这里需要注意一下。

  Additionally assert value:等于特定值。

  Match as regular expression:符合正则表达式。

  3、Size Assertion(见图知意)

14-4.png

  4、JSR223 Assertion

14-5.png

  JSR223 Assertion可以选择多种语言,如下图所示:

14-6.png

  笔者常用的是beanshell和JS。这里我们以beanshell举例。

  JSR223 Assertion实例:

14-7.png

14-8.png

14-9.png

  import org.json.*;
  //获取上一个请求的返回值
  String response = prev.getResponseDataAsString();
  //将返回值转换为json
  JSONObject responseJson = new JSONObject(response);
  //获取responseMessage
  String status = responseJson.get("status").toString();
  String message = responseJson.getString("message");
  if(!status.equals("0")) {
      Failure = true;
      FailureMessage = "status错误";
  }else{
     FailureMessage = "status正确";
  }
  if(!message.equals("username or password error")) {
      Failure = true;
      FailureMessage = "message错误";
  }else{
     FailureMessage = "message错误";
  }

  运行结果:

14-10.jpeg

  5、XPath Assertion

14-11.png

  6、Compare Assertion

14-12.png

  7、断言持续时间

14-13.png

  这个就比较好理解了。断言取样器运行测试消耗掉的时间,比如我们的持续时间填写10,实际时间如果是20s,那么就会断言失败。

  8、HTML Assertion

14-14.png

  9、MD5Hex断言

14-15.png

  对返回的MD5进行断言,直接填入即可。

  10、SMIME Assertion

14-16.png

  可以参考SMIME Assertion,用的不多。

  11、XML断言

14-17.png

  用来验证响应数据是正确的XML格式,不常用。

  12、XML Schema Assertion

14-18.png

  13、BeanShell断言

  可以参考JSR223 Assertion,BeanShell断言也是我们常用的断言。



作者:软件测试小P    

来源:http://www.51testing.com/html/54/n-7791954.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
      • 51testing软件测试圈微信