Groovy 基于不同步骤结果的步骤断言-soapUI(从脚本断言运行测试用例和测试步骤)

Groovy 基于不同步骤结果的步骤断言-soapUI(从脚本断言运行测试用例和测试步骤),groovy,soapui,Groovy,Soapui,在Soapui测试用例中,我有一个“更新”soap测试步骤。在这之后,我有一个groovy脚本步骤,在这个步骤中,我通过运行不同的测试步骤来验证这个“更新”,比如说“搜索”(位于不同的测试用例中),通过使用这个脚本来编程。现在,我想根据“搜索”的结果将“更新”步骤标记为脚本断言的通过或失败(这样我就可以得到绿色/红色的东西) 由于testRunner在脚本断言中不可用(据我所知),我如何基于“搜索”断言“更新”。因为“搜索”必须在“更新”的运行和“更新”的断言脚本的运行之间运行。我已尝试使用所述

在Soapui测试用例中,我有一个“更新”soap测试步骤。在这之后,我有一个groovy脚本步骤,在这个步骤中,我通过运行不同的测试步骤来验证这个“更新”,比如说“搜索”(位于不同的测试用例中),通过使用这个脚本来编程。现在,我想根据“搜索”的结果将“更新”步骤标记为脚本断言的通过或失败(这样我就可以得到绿色/红色的东西)

由于
testRunner
在脚本断言中不可用(据我所知),我如何基于“搜索”断言“更新”。因为“搜索”必须在“更新”的运行和“更新”的断言脚本的运行之间运行。我已尝试使用所述的
context
对象,但失败的脚本断言不会显示对groovy脚本步骤中该
context
对象中设置的属性的访问


有人面临过这样的问题吗?感谢您的帮助

通过像这样从断言脚本运行testcase解决了这个问题

messageExchange.modelItem.testStep.testCase.testSuite.getTestCaseByName("Test Case Name").run(new com.eviware.soapui.support.types.StringToObjectMap(), false)
messageExchange.modelItem.testStep.testCase.getTestStepByName("Test step Name").run(context.getTestRunner(),context)
此外,还可以像这样从断言脚本运行测试步骤

messageExchange.modelItem.testStep.testCase.testSuite.getTestCaseByName("Test Case Name").run(new com.eviware.soapui.support.types.StringToObjectMap(), false)
messageExchange.modelItem.testStep.testCase.getTestStepByName("Test step Name").run(context.getTestRunner(),context)

听起来你的测试结构很混乱;也许你应该重新考虑一下。展示一些代码怎么样:什么有效,什么无效?@SiKing可能我解释得很混乱,或者提供了太多信息,但简言之,我想运行一个测试步骤,该步骤位于与脚本断言步骤不同的测试用例中,并根据收到的结果进行断言。因此,我在脚本断言中寻找一个“句柄”,以便在不同的TC中运行测试步骤。
context.getTestRunner()
在断言中使用时为我返回
null