目录

一、Assertion(断言)

二、Response Assertion【响应断言】                    三、JSON Assertion【JSON 断言】

四、Size Assertion【大小断言】                             五、JSR223 Assertion

六、XPath Assertion【XPath 断言】                      七、Compare Assertion

八、Duration Assertion【断言持续时间】               九、HTML Assertion【HTML 断言】

十、MD5Hex Assertion【MD5Hex 断言】             十一、SMIME Assertion【SMIME 断言】

十二、XML Assertion【XML 断言】                        十三、XML Schema Assertion【XML Schema 断言】

十四、BeanShell Assertion【BeanShell 断言】



一、Assertion(断言)

  1. 1、断言组件用来对服务器的响应数据做验证,断言就类似 LoadRunner 中的检查点。
  2. 2、断言对上一个请求返回的信息,做字符串、数据包大小、HTML、XML、图片等做判断,确保返回的信息的准确性。
  1. 断言共有 13 个,分别是:
  2. 1、Response Assertion【响应断言】
  3. 2、JSON Assertion【JSON 断言】
  4. 3、Size Assertion【大小断言】
  5. 4、JSR223 Assertion
  6. 5、XPath Assertion【XPath 断言】
  7. 6、Compare Assertion
  8. 7、Duration Assertion【断言持续时间】
  9. 8、HTML Assertion【HTML 断言】
  10. 9、MD5Hex Assertion【MD5Hex 断言】
  11. 10、SMIME Assertion【SMIME 断言】
  12. 11、XML Assertion【XML 断言】
  13. 12、XML Schema Assertion【XML Schema 断言】
  14. 13、BeanShell Assertion【BeanShell 断言】



二、Response Assertion【响应断言】

  1. 响应断言:
  2. 1、响应断言可以将请求或响应的各个字段与模式字符串进行比较。
  3. 2、响应断言是常用的断言,其支持正则表达式。
  4. // ************************* 【响应断言】 参数说明 ************************* //
  5. 1、名称:响应断言名称,可以随意设置,甚至可以为空。
  6. 2、注释:可以随意设置,可以为空。
  7. 3、Apply to:匹配范围
  8. // Apply to::是应用范围,设定匹配的范围,用于可以生成子取样器的取样器
  9. // 例如:带有嵌入资源的 HTTP 取样器、Mail Reader 或者事务控制器生成的取样器。
  10. ○ Main sample and sub-samples :可以同时应用到主取样器和子取样器
  11. ○ Main sample only :[默认] 只能应用到主取样器
  12. ○ Sub-samples only :只能应用到子取样器
  13. ○ JMeter Variable Name to use (输入框):应用到指定名称的变量(对指定的变量的值进行提取),输入框填写变量名
  14. [单选框]
  15. 4、测试字段:
  16. // 针对响应数据不同部分进行匹配需要检查的字段
  17. ○ 响应文本:[默认] 响应服务器返回的文本内容,http 协议排除 header 部分
  18. // 从服务器返回的响应,例如,响应体,包括所有的 HTTP 响应头
  19. ○ 响应代码:匹配响应代码,比如 http 请求中 ‘200’ 代表成功
  20. ○ 响应信息:匹配响应信息,处理成功返回 ‘成功’ 或者 “ok” 字样
  21. ○ Response Headers:匹配响应头中的信息,对于非 HTTP 的取样器可能不存在
  22. ○ Request Headers:匹配请求头中的信息,包括 Set-Cookie 的头(如果有的话)
  23. // http 协议排除 header 部分:对于 HTTP 取样器,头是有用的;但对于其他类型的取样器,它可能不存在。
  24. ○ URL样本:
  25. ○ Document(text):从各种类型的文件通过 Apache Tika(详见结果树视图文档部分)提取文本
  26. ○ Response Data:请求数据
  27. □ 忽略状态:用于在进行断言检查前,先将取样器的状态设置为成功
  28. // 忽略状态:注意,因为改设置会清除任何之前的断言失败的影响。所以,请确认只在第一个断言设置该选项。
  29. [忽略状态:多选框;除此之外选项:单选框]
  30. 5、模式匹配规则:
  31. 指示如何根据模式检查正在测试的文本。
  32. ○ 包括:[默认] 使用普通文本模式匹配——部分匹配;若文本包含模式字符串(区分大小写),则断言成立
  33. ○ 匹配:使用普通文本模式匹配——全部匹配;若整个文本与模式字符串相同(区分大小写),则断言成立
  34. ○ Equals:应用正则表达式——全部匹配;若整个文本与正则表达式模式匹配,则断言成立
  35. ○ Substring:应用正则表达式——部分匹配;若文本包含正则表达式模式,则断言成立
  36. □ 否:反转检查结果
  37. □ 或者:如果不想用 AND 连接(所有的模式都必须匹配,断言才算成功);
  38. 用 OR 选项可以用于将多个断言模式进行 OR 连接(只要一个模式匹配,断言就是成功的)
  39. [否、或者:多选框;除此之外选项:单选框]
  40. 6、测试模式:
  41. (1)一列出要测试的模式,每个模式分别测试。
  42. (2)如果一个模式失败,则就不再继续进行模式检查。
  43. (3)在一个断言下设置用多个模式和设置多个仅有一个模式的断言是没有区别的。
  44. [输入框]
  45. 7、Custom failure message:自定义失败消息
  46. 定义失败时的信息。
  47. [输入框]


三、JSON Assertion【JSON 断言】

  1. JSON 断言:
  2. 1、适用于 json 格式的响应断言,JSON 断言允许完成对JSON文档的校验。
  3. 2、当响应结果是 json 格式时,用 JSON 断言更方便判断。
  4. 3、如果如果数据不是 JSON ,则会解析失败。
  5. 4、JMeter 会用指定语法寻找指定的路径,如果没有找到,则会失败。
  6. 5、如果验证期望值为 null ,JMeter提供了 null 复选框,校验空数组使用[]。
  7. // ************************* 【JSON 断言】 参数说明 ************************* //
  8. 1、名称:JSON 断言名称,可以随意设置,甚至可以为空。
  9. 2、注释:可以随意设置,可以为空。
  10. 3、Assert JSON Path exists:断言 JSON 路径是否存在
  11. JSON Path 输入框默认显示 $. :在 $. 后面加入需要检查的 json 字段
  12. 4、Additionally assert value:附加断言值
  13. 添加验证的值,只有勾选了此复选框,才可以在 Expected Value 中设置期望的值。
  14. [多选框]
  15. 5、Match as regular expression:与正则表达式匹配
  16. (1)匹配正则表达式,在期望的值中填写正则表达式
  17. (2)如果不勾选此项,在 Expected Value 中设置了正则表达式,则不进行匹配。
  18. (3)如果 Additionally assert value 不勾选,此项未勾选时,此项将无法勾选。
  19. (4)如果 Additionally assert value 不勾选,此项之前勾选过,此时也将处于禁用状态。
  20. [多选框]
  21. 6、Expected Value:期望值
  22. (1)勾选 Additionally assert value ,此处填写断言值。
  23. (2)同时勾选 Additionally assert value 和 Match as regular expression ,此处填写正则表达式。
  24. (3)勾选 Expect null,此项的内容将被禁用掉。
  25. [输入框]
  26. 7、Expect null:期望值为 null
  27. 如果期望的值为 null ,可以勾选此项。
  28. (1)可单独勾选,勾选后,Expected Value 将无法输入。
  29. (2)如果勾选 Additionally assert value ,再勾选此项,Match as regular expression 将无法勾选。
  30. (3)如果同时勾选 Additionally assert value 和 Match as regular expression,再勾选此项后,
  31. Match as regular expression 会变为禁用状态。
  32. [多选框]
  33. 8、Invert assertion(will fail if above conditions met):反转断言(如果满足上述条件,将失败)
  34. 如果匹配的值存在,则断言失败;不匹配,则断言成功
  35. [多选框]


四、Size Assertion【大小断言】

  1. 大小断言:验证响应数据 Size 大小,它的作用范围有主 Sample 与子 Sample 。
  2. // ************************* 【大小断言】 参数说明 ************************* //
  3. 1、名称:大小断言名称,可以随意设置,甚至可以为空。
  4. 2、注释:可以随意设置,可以为空。
  5. 3、Apply to:匹配范围
  6. // Apply to::是应用范围,设定匹配的范围,用于可以生成子取样器的取样器
  7. // 例如:带有嵌入资源的 HTTP 取样器、Mail Reader 或者事务控制器生成的取样器。
  8. ○ Main sample and sub-samples :可以同时应用到主取样器和子取样器
  9. ○ Main sample only :[默认] 只能应用到主取样器
  10. ○ Sub-samples only :只能应用到子取样器
  11. ○ JMeter Variable Name to use (输入框):应用到指定名称的变量(对指定的变量的值进行提取),输入框填写变量名
  12. [单选框]
  13. 4、Response Size Field to Test:要测试的响应大小字段响应域
  14. // 选择需要参与断言的响应域范围。
  15. ○ Full Response: 全部响应信息,包括响应头和响应体
  16. ○ Response Headers: 响应头信息,比如 http 协议的头信息
  17. ○ Response Body: 响应主体内容部分,比如 http 协议 HTML 代码中的 Body 部分。
  18. ○ 响应代码:响应代码,比如 200 ,500 , 404
  19. ○ 响应信息:响应信息,比如处理成功返回 ‘成功’ 或者 “ok” 字样
  20. 5、Size to Assert:尺寸要求
  21. 断言时 Size 的阀值设置,可以设置响应的内容是否小于,大于,等于给定字节大小。
  22. (1)比较类型:比值符号
  23. ○ =:等于
  24. ○ !=:不等于
  25. ○ >:大于
  26. ○ <:小于
  27. ○ >=:大于等于
  28. ○ <=:小于等于
  29. [单选框]
  30. (2)字节大小:
  31. 输入框填写数字,字节单位是:byte
  32. [输入框]


五、JSR223 Assertion

  1. JSR223 Assertion:
  2. 1、JSR223 即 Java 规范请求,是指向 JCP(Java Community Process) 提出新增一个标准化技术规范的正式请求。
  3. 2、JSR223 Assertion 是针对取样器中的 JSR223 sampler 而使用的断言。
  4. // ************************* 【JSR223 Assertion】 参数说明 ************************* //
  5. 1、名称:JSR223 Assertion 名称,可以随意设置,甚至可以为空。
  6. 2、注释:可以随意设置,可以为空。
  7. 3、Script language(e.g.beanshell,javascirpt,jexl):脚本语言(例如:beanshell、javascirpt、jexl)
  8. // 脚本语言(可以从下面的 Language 下拉框中选择对应的脚本语言 beanshell、javascirpt、jexl 等)
  9. Language:脚本语言
  10. [下拉框]
  11. 4、parameters to be passed to script(=> String Parameters and String []args):
  12. 要传递到脚本的参数(=> 字符串参数和字符串[]参数)
  13. // 传递给脚本的参数:可以理解为使用 JSR223 断言脚本时候一起引用的参数
  14. [输入框]
  15. 5、Script file(overrides script):脚本文件(重写脚本)
  16. 重写脚本:可以通过选择脚本文件的状态,可以浏览调用已有的脚本,也可以在下面的 Script 输入框内写入脚本。
  17. File Name:文件名,可输入文件路径 【浏览...:浏览调用已有的脚本路径】
  18. [输入框]
  19. 6、Script compilation caching:脚本编译缓存
  20. Cache compiled script if available:缓存编译脚本(如果可用)
  21. [多选框:默认勾选]
  22. 7、Script (variables:ctx vars props SampleResult(aka prev) AssertionResult sampler
  23. log Label Filename Parameters args[] OUT):
  24. 脚本(变量:CTX vars props示例结果(aka prev)断言结果采样器日志标签文件名参数 args[] 输出)
  25. Script:脚本,下面的输入框表示可以输入变量类型,运用的脚本(取样结果、断言结果、取样日志文件等参数)
  26. [输入框]


六、XPath Assertion【XPath 断言】

  1. XPath 断言:
  2. 1、WebServices 协议接口测试可以通过响应断言(支持正则表达式)来做验证,
  3. 除此之外 XPath Assertion 也能够对返回的 XML 格式信息进行断言,而且是专用的。
  4. 2、XPath 即为 XML 路径语言,它是一种用来确定 XML(标准通用标记语言的子集)文档中某部分位置的语言。
  5. 3、XPath 基于 XML 的树状结构,提供在数据结构树中找寻节点的能力。
  6. 5、XPath 断言针对返回信息为 XPath 的数据类型进行断言。
  7. // ************************* 【XPath 断言】 参数说明 ************************* //
  8. 1、名称:XPath 断言名称,可以随意设置,甚至可以为空。
  9. 2、注释:可以随意设置,可以为空。
  10. 3、Apply to:匹配范围
  11. // Apply to::是应用范围,设定匹配的范围,用于可以生成子取样器的取样器
  12. // 例如:带有嵌入资源的 HTTP 取样器、Mail Reader 或者事务控制器生成的取样器。
  13. ○ Main sample and sub-samples :可以同时应用到主取样器和子取样器
  14. ○ Main sample only :[默认] 只能应用到主取样器
  15. ○ Sub-samples only :只能应用到子取样器
  16. ○ JMeter Variable Name to use (输入框):应用到指定名称的变量(对指定的变量的值进行提取),输入框填写变量名
  17. [单选框]
  18. 4、XML Parsing Options:XML 解析选项
  19. □ Use Tidy(tolerant parser):使用 Tidy(容错语法解析器)
  20. □ Quiet:[默认] 不显示
  21. □ Report errors:错误报告
  22. □ Show warnings:显示错误
  23. □ Use Namespaces:使用命名空间
  24. □ Validate XML:验证 XML(文件包/数据)
  25. □ Ignore Whitespace:忽略空格
  26. // 这允许你指定语法分析器可以忽略哪个空格,而哪个空格是重要的。
  27. □ Fetch external DTDs:获取外部 DTDs
  28. // 一些 XML 元素具有属性,属性包含应用程序使用的信息,
  29. // 属性仅在程序对元素进行读、写操作时,提供元素的额外信息,这时候需要在 DTDs 中声明。
  30. [多选框]
  31. 5、XPath 断言:
  32. 输入框中写入xpath断言,点击 “验证” 按钮验证其正确性。
  33. [输入框]
  34. 6、True if nothing matches:如果没有匹配项,则为真
  35. 确认都不匹配。
  36. [多选框]


七、Compare Assertion

  1. Compare Assertion:
  2. 1、Compare Assertion 是比较断言,用来比较两次取样结果,结果支持正则表达式过滤。
  3. 2、比较断言会消耗较多资源,所以在测试时一般不建议使用,仅仅用来调试。
  4. 3、Compare Assertion 要与 Comparison Assertion Visualizer 结合起来用,前者进行设置,后者进行断言结果显示。
  5. 4、属于调试功能。
  6. 5、这是一种比较特殊的断言元件,针对需要进行字符串替换时的断言进行使用。
  7. // ************************* 【Compare Assertion】 参数说明 ************************* //
  8. 1、名称:Compare Assertion 名称,可以随意设置,甚至可以为空。
  9. 2、注释:可以随意设置,可以为空。
  10. 3、Select Comparison Operators:选择比较运算符
  11. ● Compare Content:比较内容
  12. 可以选择比较的内容类型:true/false 或者自定义、编辑
  13. ● Compare Time:比较时间
  14. 可以设定比较的时间,单位为:秒,默认为:-1
  15. 4、Comparison Fitters:比较修改工具
  16. ● regular expression substitutions:替换正则表达式
  17. ● Regex String:要替换的字符串(可从断言结果中选择)
  18. ● substitutions:替换的字符串(替换结果)


八、Duration Assertion【断言持续时间】

  1. 断言持续时间:
  2. 1、持续时间断言,验证取样器运行测试消耗掉的时间,可以针对主取样器与子取样器。
  3. 2、用于判断服务器的响应时间。
  4. 3、时间单位是:毫秒。
  5. // ************************* 【断言持续时间】 参数说明 ************************* //
  6. 1、名称:断言持续时间名称,可以随意设置,甚至可以为空。
  7. 2、注释:可以随意设置,可以为空。
  8. 3、Apply to:匹配范围
  9. // Apply to::是应用范围,设定匹配的范围,用于可以生成子取样器的取样器
  10. // 例如:带有嵌入资源的 HTTP 取样器、Mail Reader 或者事务控制器生成的取样器。
  11. ○ Main sample and sub-samples :可以同时应用到主取样器和子取样器
  12. ○ Main sample only :[默认] 只能应用到主取样器
  13. ○ Sub-samples only :只能应用到子取样器
  14. ○ JMeter Variable Name to use (输入框):应用到指定名称的变量(对指定的变量的值进行提取),输入框填写变量名
  15. [单选框]
  16. 4、断言持续时间:
  17. 持续时间(毫秒):响应时间设置(单位:毫秒),如果响应时间大于设置的响应时间,则断言失败,否则成功!
  18. [输入框]


九、HTML Assertion【HTML 断言】

  1. HTML 断言:
  2. 1、HTML 断言:可以对 HTML 代码内容进行断言,当然此元件不仅仅只支持 HTML ,还支持 XHTML 、XML。
  3. 2、在 HTML 断言中利用 JTidy 来解析 HTML 代码,JTidy 是 HTML Tidy 的 Java 实现版本,提供了 HTML 的语法检查器。
  4. 3、JTidy 可以用来清除格式不好和不对的 HTML ,还提供对整个 HTML 的 DOM 分析。
  5. 4、我们可以将 JTidy 当作一个处理 HTML 文件的 DOM 解析器来使用。
  6. 5、具体 JTidy 相关知识请参考官网: http://jtidy.sourceforge.net/ 。
  7. 6、对响应类为XML类型的文件进行断言。
  8. 7、针对取样器中的 SOAP/XML-RPC Request 而使用的断言。
  9. // ************************* 【HTML 断言】 参数说明 ************************* //
  10. 1、名称:HTML 断言名称,可以随意设置,甚至可以为空。
  11. 2、注释:可以随意设置,可以为空。
  12. 3、Tidy Settings:Tidy 配置
  13. // Tidy是一个 HTML 语法检查器和打印工具,可以将 HTML 转换为 XML 类型的文件
  14. Doctype:文档类型
  15. 可通过下拉框选择不同文档类型:
  16. ● omit 省略的
  17. ● auto 动态的
  18. ● strict 严格的
  19. ● loose 宽泛的
  20. [下拉框]
  21. 4、Format:文件格式
  22. 可选择不同类型的文件格式来检查返回内容:
  23. ○ HTML
  24. ○ XHTML
  25. ○ XML
  26. [单选框]
  27. 5、□ Errors only:误差校正(能接受的最大值)
  28. [多选框]
  29. ● Error threshold:误差/错误范围(可选择误差/错误数量的范围,最大值)
  30. ● Warning threshold:警告范围(可选择误差警告的数量范围,最大值)
  31. [输入框]
  32. // 如果勾选“Error only”这里忽略 Warning,只对误差作统计检查;
  33. // 如果对返回内容的检查结果不超过指定结果,则断言通过,否则失败。
  34. 6、Write JTidy report to file:写入 JTidy 报告的文件
  35. // JTidy 是 Tidy 的一个 java 移植,可以将它当成一个处理 HTML 文件的 DOM 解析器
  36. 文件名:写入 JTidy 报告的文件路径 【浏览...】
  37. [输入框]


十、MD5Hex Assertion【MD5Hex 断言】

  1. MD5Hex 断言:
  2. 1、对返回的 MD5 结果进行断言,使用简单,直接填入 MD5 值。
  3. 2、MD5是一种消息摘要算法,用以提供消息的完整性保护(具体关于MD5的知识请自行查询)。
  4. 3、MD5Hex 断言主要针对参数类型为 MD5Hex 加密的参数的断言。
  5. // ************************* 【MD5Hex 断言】 参数说明 ************************* //
  6. 1、名称:MD5Hex 断言名称,可以随意设置,甚至可以为空。
  7. 2、注释:可以随意设置,可以为空。
  8. 3、要断言的 MD5Hex
  9. MD5Hex:将已被 MD5 加密的参数写入其中,添加取样器等其他元件
  10. [输入框]


十一、SMIME Assertion【SMIME 断言】

  1. SMIME 断言:
  2. 1、对加密和签名的邮件进行断言,使用此功能需要引入:
  3. bcmail-xxx.jar (BouncyCastle SMIME/CMS) 与 bcprov-xxx.jar (BouncyCastle Provider)包。
  4. 2、SMIME 是一种多用途网际邮件扩充协议,相比于之前的SMAP邮件传输协议,增加了安全性,对邮件主题进行保护。
  5. 3、SMIME 断言主要针对采用了 SMIME 邮件传输协议的信息进行断言。
  6. // ************************* 【SMIME 断言】 参数说明 ************************* //
  7. 1、名称:SMIME 断言名称,可以随意设置,甚至可以为空。
  8. 2、注释:可以随意设置,可以为空。
  9. 3、 signature:签名(可选择对协议的签名验证状态)
  10. □ Verify signature:验证签名
  11. □ Message not signed:没有签名消息
  12. [多选框]
  13. 4、Signer certificate:签名证书(因为SMIME协议增加了安全传输,需要证书验证)
  14. ○ No check:不检查
  15. ○ Check values:检查
  16. [单选框]
  17. Signer distinguished name:签名证书者名称(证书注册者的名称)
  18. [输入框]
  19. Sigmer email address:签名者的邮件地址(注册的邮件地址)
  20. [输入框]
  21. Issuer distinguished name:发行者名称(由谁发行的证书)
  22. [输入框]
  23. Serial Number:证书序号
  24. [输入框]
  25. ○ Certificate file(输入框):选择证书文件
  26. [单选框][输入框]
  27. 5、Execute assertion message at position:执行断言消息的位置(在返回消息的具体哪个位置执行断言)
  28. [输入框]


十二、XML Assertion【XML 断言】

  1. XML 断言:
  2. 1、用来验证响应数据是正确的 XML 格式。
  3. 2、一般我们不关心返回格式,关心的是其中的值,所以此元件不常用。
  4. 3、XML(可扩展标记语言) 提供一种描述结构化数据的方法。
  5. 4、与主要用于控制数据的显示和外观的 HTML 标记不同,XML 标记用于定义数据本身的结构和数据类型。
  6. 5、XML 断言主要用于:判断返回结果是否符合 XML 的格式出现。 // 即 <> </> 成对出现。
  7. // ************************* 【XML 断言】 参数说明 ************************* //
  8. 1、名称:XML 断言名称,可以随意设置,甚至可以为空。
  9. 2、注释:可以随意设置,可以为空。


十三、XML Schema Assertion【XML Schema 断言】

  1. XML Schema 断言:
  2. 1、XML 概要断言:也可以称为 XML 模型断言(或称为:XML 数据类型断言)。
  3. 2、XML Schema 定义了两种主要的数据类型:
  4. ● xml document schema 文档架构
  5. ● 文档架构xml-schema xml模式
  6. 3、XML Schema 断言主要用于:返回结果为 XML 概要断言的2中数据类型的消息。
  7. // ************************* 【XML Schema 断言】 参数说明 ************************* //
  8. 1、名称:XML Schema 断言名称,可以随意设置,甚至可以为空。
  9. 2、注释:可以随意设置,可以为空。
  10. 3、XML Schema:XML概要模型
  11. File Name:文件名(写入需要断言的文件名称)
  12. [输入框]
  1. // ************************* 【XML Schema】 知识说明 ************************* //
  2. 1、学习 XML Schema 断言之前,大家需要先补下 XML Schema 的知识:
  3. (1)可到维基百科查看(需爬墙): http://zh.wikipedia.org/zh-cn/XML_Schema
  4. (2)可到 W3C 宫网查看(无需爬墙): http://www.w3school.com.cn/schema/schema_intro.asp
  5. 2、以下 XML Schema 内容来自百度:
  6. (1)XML Schema 可扩展标记语言架构是以可扩展标记语言(标准通用标记语言的子集)为基础的
  7. (2)XML Schema 用于可替代文档类型定义(外语缩写: DTD);
  8. (3)一份 XML schema 文件描述了可扩展标记语言文档的结构。
  9. (4)XML Schema 的作用是定义一份 XML 文档的合法组件群,就像文档类型定义(外语缩写: DTD)的作用一样。
  10. (5)一份 XML Schema 定义:
  11. ● 可以出现在文档里的元素
  12. ● 可以出现在文档里的属性
  13. ● 哪些元素是子元素
  14. ● 子元素的顺序
  15. ● 子元素的数量
  16. ● 一个元素是否能包含文本,或应该是空的
  17. ● 元素和属性的数据类型
  18. ● 元素和属性的默认值和固定值


十四、BeanShell Assertion【BeanShell 断言】

  1. BeanShell 断言:
  2. 1、BeanShell 之前关于定时器的随笔中有介绍过,是一种松散类型的脚本语言(这点和 JS 类似),
  3. 一种完全符合 java 语法的 java 脚本语言,并且又拥有自己的一些语法和方法。
  4. 2、在 JMeter 中除了配置元件外,其他类型的元件中都会有 BeanShell 的身影。
  5. 3、BeanShell 作为脚本语言能够方便地调用 Java 类,在测试执行时方使用户进行简单的逻辑处理。
  6. 4、BeanShell 断言:针对 sampler 中的 BeanShell sampler 而使用的断言。
  7. // ************************* 【BeanShell 断言】 参数说明 ************************* //
  8. 1、名称:BeanShell 断言名称,可以随意设置,甚至可以为空。
  9. 2、注释:可以随意设置,可以为空。
  10. 3、Reset bsh.interpreter before each call:在每次调用 BeanShell 之前重置 bsh.interpreter 类
  11. (bsh.interpreter 是 BeanShell 脚本语言的一种类,也可以理解为一种解析器)
  12. [多选框]
  13. 4、Parameters(String Parameters and String []bsh.args):
  14. String参数(String []bsh.args是主类main函数的形式参数,是一个String 对象数组,可以用来获取命令行用户输入进去的参数)
  15. [输入框]
  16. 5、Script file(输入框):脚本文件(也可以点击 “浏览...” 按钮,填入脚本文件路径)
  17. [输入框]
  18. 6、Script(see below for variables that are defined):
  19. 参照下文定义的变量(使脚本文件参照定义的变量来运行)
  20. [输入框]
  21. 7、注释翻译:
  22. ● The following variables are defined for the script:
  23. 为脚本定义了以下变量:
  24. ● Read/Write:Failure,FailureMessage,SampleResult,vars,props,log.
  25. 读/写:失败,故障报文,抽样调查,vars,props,日志。
  26. ● ReadoOnly:Response[Date|Code|Message|Headers],RequestHeaders,SamplerData,ctx
  27. 只读的:响应[数据|代码|信息|报文头],请求头,样本数据,变量
  1. // ************* 在断言元件中,BeanShell 也可以访问 JMeter 的诸多属性,具体有 ************ //
  2. 1、log 对象:可以利用此对象写日志
  3. 2、SampleResult 对象:从中可以获取响应数据、响应码等信息,只读
  4. 3、Response 对象:获取响应数据,只读
  5. 4、Failure :用来设置断言成功与否,Boolean 类型
  6. 5、FailureMessage :用来设置失败信息
  7. 6、ResponseData 对象:获取响应数据
  8. 7、ResponseCode :响应码
  9. 8、ResponseMessage :响应信息
  10. 9、ResponseHeaders :响应头信息
  11. 10、RequestHeaders :请求头信息
  12. 11、SampleLabel :取样器 Label 信息
  13. 12、SamplerData :发送给服务器的数据
  14. 13、Ctx (JMeterContext) :JMeter 上下文信息,从中可以获取线程数、线程号等信患
  15. 14、Vars (JMeterVariables) :获取 JMeter 中定义的变量,或者设置变量
  16. 15、Props (JMeterProperties) :获取 JMeter 中的属性,或者设置属性
  17. // ************************* 下面简单介绍下其他几个方法 ************************* //
  18. 1、getResponseDataAsString: 从 SampleResult 获取响应数据
  19. 2、getResponseCode: 从 SampleResult 获取响应 Code
  20. 3、getResponseMessage: 从 SampleResult 获取响应消息

【六】Jmeter:断言相关推荐

  1. Jmeter断言-响应断言

    1:Jmeter断言-响应断言 1.1:添加线程组 1.2:添加http请求 1.3:在http请求下添加"响应断言" 1.4:添加查看结果树和Debug取样器 1:断言成功的结果 ...

  2. Jmeter断言-所有断言讲解

    Jmeter断言-所有断言讲解 jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中 ...

  3. 5 JMeter断言-Jmeter响应中出现乱码时

    文章目录 2 JMeter 2.5 JMeter断言 2.5.1 响应断言 2.5.2 JSON断言 2.5.3 断言持续时间 3 使用问题 3.1 jmeter响应中出现乱码时 2 JMeter 2 ...

  4. Jmeter断言(预期结果)-响应断言

    注: 1.断言:(预期结果): 2.断言时要用不变的量. 1:Jmeter断言-响应断言 1.1:添加线程组 1.2:添加http请求 1.3:在http请求下添加"响应断言" 1 ...

  5. 性能测试之JMeter断言

    导读 介绍响应断言的用法 请求重定向的问题 1.从浏览器登录Redmine (1)从浏览器登录Redmine,使用正确的用户名.密码登录,登录完成后,右上角显示登录账号的名称,如下图所示: (2)使用 ...

  6. 八、Jmeter断言

    八.Jmeter断言 什么是断言,断言有什么作用? 不管是在自动化测试还是性能测试工具中都有断言这个概念,简单的来理解一下,在 参数化 中,我们对用户名和密码进行了参数化,那么怎样来判断JMeter参 ...

  7. JMeter断言失败

    JMeter断言失败 问题: 把响应文本复制到断言处匹配,出现匹配失败 解决: 断言中包含了[,需要转义,解决~ #原来的 {"errCode":0,"message&q ...

  8. Jmeter 断言使用

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

  9. (五)JMeter 断言

    前言 在 jmeter 中断言用于验证服务器返回的数据是否满足我们的要求.jmeter 提供了以下断言类型: 下面我们主要对响应断言.XPath Assertion.jp@gc - JSONPath ...

  10. jmeter断言操作详解

    一.断言简介 jmeter中有个元件叫做断言(Assertion).用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致. 使用断言的目的:在request的返回层面 ...

最新文章

  1. 剑指offer:面试题31. 栈的压入、弹出序列
  2. boost::geometry::model::segment用法的测试程序
  3. ubuntu下面 将桌面换成 英文
  4. 安装sql server 2008 management studio时,提示升级VS2008 到 SP1
  5. 大企业中,Java面试官最爱问的问题集锦(2)
  6. 重构指南 - 封装条件(Encapsulate Conditional)
  7. 商务口语:议价时可能用到的句子
  8. process 类 java_Process 执行命令行Java封装类详解
  9. DPDK分析——UIO
  10. matlab管道泄漏定位,在Matlab中分析基于小波变换的管道泄漏定位方法
  11. Vue项目-2首页开发(header)
  12. Gateway一文详解
  13. 文本关键词的提取算法实验[又是转的]
  14. 使用cairo和freetype进行字体布局和渲染
  15. PyCharm 快速批量注释及取消注释
  16. 属于你的舞台——安卓优化大师UI设计
  17. 文字细化算法matlab,[转载](转)二值图像的细化算法和源程序代码(Matlab)
  18. LAMP[Discuz论坛]
  19. 红黑树的节点颜色是什么决定_为什么选择颜色可能是您最重要的品牌决定
  20. 整理了下这三天【面试】遇到的让人心惊胆颤的难题。

热门文章

  1. DTNSim.java注释摘要(学习性质,有错漏的可能,红色为不明确部分)
  2. 模版方法模式 Template Method Pattern — 穷人和富人的不同婚恋历程
  3. MapReduce单机提交(待稿)
  4. PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)
  5. CentOS安装nginx方法命令教程
  6. 防盗链与token运用
  7. CodeForces 785C Anton and Fairy Tale 二分
  8. Linux打包压缩.md
  9. 【原创】利用typeface实现不同字体的调用显示及String转换为Unicode
  10. asp.net 调用SmtpClient发送邮件(转)