SOAPUI中文教程---使用断言
2017-05-26 20:58
141 查看
让我们来看看使用采样器的TestSteps(包括request的TestStep)的Assertion功能如何验证TestStep收到传入的响应或请求。在我们深入了解可用的断言之前,让我们快速概述一下。
断言用于在执行期间验证TestStep接收的消息,通常通过将消息(或整个消息)的部分与某些预期值进行比较。任何数量的断言都可以添加到采样器TestStep中,每个断言都会验证响应内容的一些不同方面。在采样器TestStep执行后,其所有断言将应用于接收到的响应,如果任何一个断言TestStep在TestCase视图中被标记为失败,并且相应的FAILED条目显示在测试执行日志中。
这里我们可以看到“测试请求 - 登录”TestStep已经失败,在底部的TestCase运行日志中还会显示有关实际断言失败的详细信息; “took 1023 ms”表示“SLA”断言失败,即响应太慢。
在上面的截图中,您可以看到添加到SOAP Request TestStep中的3个断言,并且它们都failed。
在断言之上的工具栏允许您根据需要添加,配置,删除,移动和克隆断言,并且用于断言的右键单击弹出菜单包含类似的操作(可以在屏幕截图中看到)。双击断言会弹出其配置对话框(如果可用)。
该对话框将包含可用于当前类型采样器的断言映射(见下文),按OK将添加断言并打开其配置对话框。
Message Content Assertion - 允许XML消息的复杂内容验证。适用于包含XML的任何属性。
Not Contains - 不包含 - 搜索属性值中不存在字符串,支持正则表达式。适用于任何。
XPath Match - 使用XPath表达式从目标属性中选择内容,并将结果与期望值进行比较。适用于包含XML的任何属性。
XQuery Math - 使用XQuery表达式从目标属性中选择内容,并将结果与期望值进行比较。适用于包含XML的任何属性。
Invalid HTTP Status Codes - 检查目标TestStep是否收到HTTP结果,状态码不在定义的代码列表中。适用于接收HTTP消息的任何TestStep
Not SOAP Fault - validates that the last received message is not a SOAP Fault. Applicable to SOAP TestSteps.
Schema Compliance - validates that the last received message is compliant with the associated WSDL or WADL schema definition. Applicable to SOAP and REST TestSteps. The schema definition URL supports Property Expansions (e.g. ${#System#my.wsdl.endpoint}/services/PortType?wsdl ).
SOAP Fault - validates that the last received message is a SOAP Fault. Applicable to SOAP TestSteps SOAP Request - validates that the last received request is a valid SOAP Request. Applicable to MockResponse TestSteps only.
SOAP Response - validates that the last received response is a valid SOAP Response. Applicable to SOAP TestRequest Steps only.
Valid HTTP Status Codes - 检查目标TestStep是否在定义的代码列表中收到带有状态代码的HTTP结果。适用于接收HTTP消息的任何TestStep。
WS-Addressing Request - validates that the last received request contains valid WS-Addressing Headers. Applicable to MockResponse TestSteps only.
WS-Addressing Response - validates that the last received response contains valid WS-Addressing Headers. Applicable to SOAP TestRequest Steps only.
WS-Security Status - 验证最后收到的消息是否包含有效的WS-Security标头。适用于SOAP TestSteps。
JDBC Timeout - 验证目标TestStep的JDBC语句是否不会超过指定的持续时间。仅适用于JDBC TestSteps。
Contains
Not Contains
Reponse SLA
XPath Match
XQuery match
Script
截图中显示的示例指定了要验证的消息的整个内容中的字符串“SessionID”的正则表达式检查。 内容支持属性扩展。
这里的截图中的例子只是检查整个响应中“Error”不存在。
属性扩展支持在指定的值中,允许您通过某些外部机制(如果需要)来控制断言限制。
断言用于在执行期间验证TestStep接收的消息,通常通过将消息(或整个消息)的部分与某些预期值进行比较。任何数量的断言都可以添加到采样器TestStep中,每个断言都会验证响应内容的一些不同方面。在采样器TestStep执行后,其所有断言将应用于接收到的响应,如果任何一个断言TestStep在TestCase视图中被标记为失败,并且相应的FAILED条目显示在测试执行日志中。
这里我们可以看到“测试请求 - 登录”TestStep已经失败,在底部的TestCase运行日志中还会显示有关实际断言失败的详细信息; “took 1023 ms”表示“SLA”断言失败,即响应太慢。
1. 管理断言
断言始终显示在包含TestSteps编辑器窗口底部的选项卡中。在上面的截图中,您可以看到添加到SOAP Request TestStep中的3个断言,并且它们都failed。
在断言之上的工具栏允许您根据需要添加,配置,删除,移动和克隆断言,并且用于断言的右键单击弹出菜单包含类似的操作(可以在屏幕截图中看到)。双击断言会弹出其配置对话框(如果可用)。
该对话框将包含可用于当前类型采样器的断言映射(见下文),按OK将添加断言并打开其配置对话框。
2. 断言类别
断言分为几个类别,以便于管理。2.1. Property Content
Contains - 在属性值中搜索字符串是否存在,支持正则表达式。适用于任何。Message Content Assertion - 允许XML消息的复杂内容验证。适用于包含XML的任何属性。
Not Contains - 不包含 - 搜索属性值中不存在字符串,支持正则表达式。适用于任何。
XPath Match - 使用XPath表达式从目标属性中选择内容,并将结果与期望值进行比较。适用于包含XML的任何属性。
XQuery Math - 使用XQuery表达式从目标属性中选择内容,并将结果与期望值进行比较。适用于包含XML的任何属性。
2.1.1. Compliance, Status and Standards
HTTP Download all resource - 下载所有资源称为HTML文档(图像,脚本等),并验证它们是否可用。适用于包含HTML的任何属性。Invalid HTTP Status Codes - 检查目标TestStep是否收到HTTP结果,状态码不在定义的代码列表中。适用于接收HTTP消息的任何TestStep
Not SOAP Fault - validates that the last received message is not a SOAP Fault. Applicable to SOAP TestSteps.
Schema Compliance - validates that the last received message is compliant with the associated WSDL or WADL schema definition. Applicable to SOAP and REST TestSteps. The schema definition URL supports Property Expansions (e.g. ${#System#my.wsdl.endpoint}/services/PortType?wsdl ).
SOAP Fault - validates that the last received message is a SOAP Fault. Applicable to SOAP TestSteps SOAP Request - validates that the last received request is a valid SOAP Request. Applicable to MockResponse TestSteps only.
SOAP Response - validates that the last received response is a valid SOAP Response. Applicable to SOAP TestRequest Steps only.
Valid HTTP Status Codes - 检查目标TestStep是否在定义的代码列表中收到带有状态代码的HTTP结果。适用于接收HTTP消息的任何TestStep。
WS-Addressing Request - validates that the last received request contains valid WS-Addressing Headers. Applicable to MockResponse TestSteps only.
WS-Addressing Response - validates that the last received response contains valid WS-Addressing Headers. Applicable to SOAP TestRequest Steps only.
WS-Security Status - 验证最后收到的消息是否包含有效的WS-Security标头。适用于SOAP TestSteps。
2.1.1.1. Script
Script Assertion - 运行自定义脚本来执行任意验证。仅适用于测试步骤(不能用到属性)。2.1.1.2. SLA
Response SLA - 验证最后收到的响应时间是否在定义的限制内。适用于发送请求和接收响应的脚本TestSteps和TestSteps。2.1.1.3. JMS
JMS Status - 验证该目标步步测试的JMS请求成功执行。适用于要求TestSteps与JMS端点。2.1.1.4. JDBC
JDBC Status - 验证目标TestStep的JDBC语句是否成功执行。仅适用于JDBC TestSteps。JDBC Timeout - 验证目标TestStep的JDBC语句是否不会超过指定的持续时间。仅适用于JDBC TestSteps。
2.1.1.5. Security
Sensitive Information Exposure - 检查上一次接收到的消息是否不会公开有关目标系统的敏感信息。适用于REST,SOAP和HTTP TestSteps。3. Common Assertions
常见的teststep断言是:Contains
Not Contains
Reponse SLA
XPath Match
XQuery match
Script
3.1. The Contains Assertion
该断言检查接收到的响应或请求消息中是否存在某些文本,其配置对话框如下:截图中显示的示例指定了要验证的消息的整个内容中的字符串“SessionID”的正则表达式检查。 内容支持属性扩展。
3.2. The Not Contains Assertion
包含断言的对应物;这个检查在断言的消息中不存在指定的内容。配置对话框与上述相同:这里的截图中的例子只是检查整个响应中“Error”不存在。
3.3. The Response SLA Assertion
此声明验证响应时间在指定的值内,否则断言将失败。配置对话框是一个简单的对话框:属性扩展支持在指定的值中,允许您通过某些外部机制(如果需要)来控制断言限制。
相关文章推荐
- SOAPUI中文教程---使用脚本进行断言
- SOAPUI中文教程---使用断言
- J2ME中文教程 3 MIDP高级UI 的使用
- J2ME中文教程 4 MIDP低级UI的使用
- 使用套件示例@GTK+ 2.0 中文教程连载 现在我们已经介绍了难的办法,这里介绍怎样用 gtk_item_factory 调用来做。
- Silverlight 中文教程第六部分:使用用户控件实现主从表场景
- Inno Setup中文使用教程
- Silverlight 中文教程第一部分: 使用Silverlight 2 和 VS 2008创建“Hello World”程序
- Silverlight 中文教程第三部分:使用 Networking取回数据并填充DataGrid
- Silverlight 中文教程第二部分:使用布局管理 (木野狐译)
- iText中文教程 第二章 在Web应用程序中使用iText(上)
- Openads,phpadsnew广告统计系统,中文安装和使用说明,教程完整版
- 中文Access2000速成教程--1.5 使用已有的数据自动建新表
- Silverlight 中文教程第四部分:使用 Style 元素更好地封装观感 (木野狐译)
- J2ME中文教程 3 MIDP高级UI 的使用
- 中文Access2000速成教程--1.1 使用“向导”设计数据库
- putty使用方法,中文教程 链接地址
- Silverlight 中文教程第八部分:使用WPF创建一个Digg桌面应用