🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[toc] # Script Assertion 脚本断言运行一个脚本来执行对消息的自定义检查。你可以验证消息内容、headers 、属性和其他组成部分。 ## 适用场景 您可以在 ReadyAPI 套件的不同应用程序中使用这个断言。根据应用程序的不同,断言验证以下数据: | 应用 | 检查数据 | 更多信息 | | --- | --- | --- | | [SoapUI](SoapUI.md) | request 和 response | [SoapUI 断言](断言.md) | | [Secure](Secure.md) | response | [Secure 断言](Secure断言.md) | | [ServiceV](ServiceV.md) | request | [ServiceV 断言](ServiceV断言.md) | ## 创建断言 1、在对话框的左边,选择 **Script** 类别。 2、在对话框的右边,选择 **Script Assertion** 。 3、点击 **Add** 。 **SoapUI** ![](https://support.smartbear.com/readyapi/docs/_images/testing/assertions/reference/create-soap.png) **Secure** ![](https://support.smartbear.com/readyapi/docs/_images/testing/assertions/reference/create-secure.png) **ServiceV** ![](https://support.smartbear.com/readyapi/docs/_images/testing/assertions/reference/create-servicev.png) ## 设置断言 1、编写脚本,验证数据。 ![](https://support.smartbear.com/readyapi/docs/_images/testing/assertions/reference/script.png) >[info]提示:使用 `CTRL + 鼠标滚轮` 调整编辑器字体大小。 断言脚本中的可用对象: | 对象 | 描述 | | --- | --- | | log | Apache [Logger](http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Logger.html) 对象,用于打印测试日志。 | | context | [TestCaseRunContext](https://support.smartbear.com/readyapi/apidocs/soapui/com/eviware/soapui/model/testsuite/TestCaseRunContext.html) 对象,提供了测试步骤和测试执行相关接口。 | | messageExchange | [MessageExchange](https://support.smartbear.com/readyapi/apidocs/soapui/com/eviware/soapui/model/iface/MessageExchange.html) 对象,提供了请求、响应数据的接口和请求执行相关信息。 | 2、点击 <img class="aqInlineImg" src="https://support.smartbear.com/readyapi/docs/_images/icon/run.png" > 运行脚本。 >[warning]务必在脚本中添加至少一个 assert 语句来设置断言 。 ## 示例 断言 response 的 HTTP header 存在: ```groovy // Check for the Amazon ID header assert messageExchange.responseHeaders["x-amz-id-1"] != null ``` 断言响应时间在规定时间内: ~~~groovy // Check whether the response time is less than 400 ms assert messageExchange.timeTaken < 400 ~~~ 断言附件存在: ~~~groovy // Check whether there are 2 attachments available assert messageExchange.responseAttachments.length == 2 ~~~ 断言 XML 元素 `RequestId` 存在: ~~~groovy // Check for the RequestId element in the response def holder = new XmlHolder( messageExchange.responseContentAsXml ) assert holder["//ns1:RequestId"] != null ~~~ --- **参考资料** 1、[ReadyAPI Documentation / Testing APIs / Verifying Results / Assertion Reference / Script Assertion](https://support.smartbear.com/readyapi/docs/testing/assertions/reference/script.html) --- :-: --- 贡献者名单(排名不分先后) --- :-: **材料** :-: **编写** 李云 :-: **校验** :-: **支持**