【发布时间】:2019-04-12 07:57:59
【问题描述】:
是否可以/如何从 SoapUI 断言运行 groovy 脚本,而无需将脚本复制/粘贴到需要执行相同脚本的所有测试步骤中?是否可以在断言之外编写脚本并像调用方法一样运行脚本?这样您就可以在多个测试步骤中重用断言脚本。
到目前为止,我已经尝试从断言中调用一个 groovy 测试步骤,但是 run() 方法需要一个 testRunner 变量,而该变量在断言中是不可用的。我还尝试编写一个 groovy 脚本作为后续测试步骤(不是断言),该脚本调用另一个 groovy 测试步骤脚本,但我无法将响应从一个测试步骤转移到下一个测试步骤(老实说,我宁愿不创建实际上只是断言的测试步骤)。
注意:这不是 How to create variables in soapui test case that can be accessed across all test steps - groovy test step & script assertion test step? 的重复,因为该问题涉及存储属性,而不是重用脚本。
【问题讨论】:
-
您在寻找“脚本库”吗? soapui.org/scripting-properties/…
-
@SiKing 的评论应该是,恕我直言,是答案。我写了几个断言类,但我用 Java 编写了它们并将它们存储在 SoapUI 安装的脚本文件夹中。您仍然需要在测试中执行常规步骤来调用外部脚本,但如果您的检查发生更改,您只需在一处更新外部脚本。
-
@ChrisAdams 解决方案需要是可移植的,即项目 xml 将被移交给多个人。将单独的文件作为库加载到soapui中似乎会给可移植性增加一层复杂性。我真的希望解决方案在项目层和 SoapUI 屏幕本身上可见(并可编辑)。