zoukankan      html  css  js  c++  java
  • Jmeter 断言使用

    先说一下使用断言的目的:在request的返回层面增加一层判断机制。因为request成功了,并不代表结果一定正确。类似于QTP中的检查点检查点。断言的使用方法:

    step_1:在你选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同)。配置好响应的检查内容(根据断言情况而定,有的断言控制面板不需要添加任何内容,如XML Assertion)。

    step_2:添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言。对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称;如果失败,则除了请求的名称外,还会有一行失败的原因。(不同类型的断言,结果不同。)

    注意:一个Sampler可以添加多个断言,根据你的检查需求来添加相应的断言,当Sampler下所有的断言都通过了,那么才算request成功。

    下面简单说一下几种断言的使用(前3种应该较为常用一点):

    1、Response Assertion(响应断言)

    适用于判断返回内容中的内容,控制面板元素如下:

    位置1:名称、注释

    位置2:要测试的相应字段,即要检查的项

    位置3:模式匹配规则

    • 包括:返回结果包括你指定的内容
    • 匹配:(好像跟Equals查不多,弄不明白有什么区别)
    • Equals:返回结果与你指定结果一致
    • Substring:返回结果是指定结果的字串

    否:不进行匹配

    位置4:要测试的模式,即填写你指定的结果(可填写多个,如图中就是希望返回文本中包含有2个指定的字符串,只有当同时包含了这2个串,这个断言才算通过,否则,算失败。)按钮【添加】、【删除】是进行指定内容的管理

    2、Size Assertion(Size断言)

    Size Assertion用于判断返回内容的大小,Size Assertion控制面板元素如下:

    位置1:名称、注释

    位置2:指定大小(单位:字节)与比较类型,返回内容的大小、比较类型、指定字节大小的比较时的摆放顺序是:【返回内容的大小】【比较类型】【指定字节大小】,如果这个比较结果通过,则断言通过,如图中,如果返回内容的大小大于10个字节,则断言通过,否则失败。

    3、Duration Assertion(Size断言)

    Duration Assertion用于判断服务器的响应时间,控制面板元素如下:

    位置1:名称、注释

    位置2:响应时间设置(单位:毫秒),如果响应时间大于设置的响应时间,则断言失败,否则成功!(等于的情况不好设置,暂不知道具体情况如何)

     

    4、HTML Assertion(HTML断言)

    html assertion的作用是检查返回的的内容,格式是否符合指定格式的相关标准。具体见下面说明。HTML Assertion的控制面板元素如下:

    位置1:名称、注释

    位置2:Tidy Settings,Doctype有auto、omit、strict、loose(这里各设置代表什么意思暂不太了解)

    位置3:格式类型,即你按那种格式来检查返回内容,html or xhtml or xml?

    位置4:能接受的最大值设置,Error threshold:最大可以接受的错误数;Warning threshold:最大可以接受的警告数。如果勾选“Error only”这忽略Warning,只对Error作统计检查。如果对返回内容的检查结果不超过指定结果,则断言通过,否则失败。

    5、XML Assertion(XML断言)

    就目前的理解来看XML Assertion的作用是判断返回结果是否否和xml的格式即<></>成对出现。(不知这样理解对不对?如果是这样的话,这个在HTML中,设置Format为XML就可以实现了,为什么还需要这个呢?)XML Assertion控制面板元素如下:

    从控制面板上可以看出,XML Assertion不需要设置任何内容。

    在使用XML Assertion的过程中,遇到一个问题,弄不明白,问题贴在这里,希望路过的朋友,如果知道的话,帮忙解答一下:

    Jmeter中添加xml assertion

    断言结果:Error on line 1: The element type "Detail" must be terminated by the matching end-tag "</Detail>".

    但实际请求返回结果:

    <?xml version="1.0" encoding="UTF-8"?><Info><Country>中国</Country><Province>未知</Province><City>未知</City><Type>大学</Type><ISP>教育网</ISP><Detail>中国教育网</Detail></Info>

    问题:<Detail></Detail>是成对的,断言那边怎么会过不去?

  • 相关阅读:
    Android开发之Sqlite的使用
    ZOJ 3607 Lazier Salesgirl
    ZOJ 3769 Diablo III
    ZOJ 2856 Happy Life
    Ural 1119 Metro
    Ural 1146 Maximum Sum
    HDU 1003 Max Sum
    HDU 1160 FatMouse's Speed
    Ural 1073 Square Country
    Ural 1260 Nudnik Photographer
  • 原文地址:https://www.cnblogs.com/Uther/p/5292097.html
Copyright © 2011-2022 走看看