我有以下TestCase设置:
Datasource
Soap Request
Groovy Script
Datasource loop
我想使用Groovy Script测试步骤获取SoapRequest测试步骤的状态。
可以如下所示:
myTestStepResult = testRunner.runTestStepByName("Soap Request")
myStatus = myTestStepResult.getStatus()
但我不想通过脚本运行TestStep,而只是使用soapui testrunner。 在数据链测试步骤中,我可以使用:
${=testRunner.results[testRunner.results.size()-1].status}
不幸的是,上面的内容在GroovyScript TestStep
中不起作用有什么想法吗?
答案 0 :(得分:0)
可以在不使用测试步骤名称的情况下运行测试步骤,并根据需要获取状态。并且假设测试步骤序列没有变化,即Soap Request
步骤始终是Groovy Script
步骤的前一步骤,并且两者之间没有其他步骤。
Groovy脚本:
log.info testRunner.runTestStep(context.testCase.testStepList[context.currentStepIndex - 1]).status
答案 1 :(得分:0)
为避免再次运行测试步骤,请尝试以下操作:
results = testRunner.getResults()
status = results.get(results.size() - 1).getStatus()
log.info status
运行测试用例之后,脚本日志应显示上一个测试步骤的状态。
请注意,在运行测试用例时,必须执行包含代码的Groovy脚本测试步骤。如果仅运行测试步骤,则会出现以下错误:
(java.lang.ArrayIndexOutOfBoundsException)
这是正常的,因为如果列表为空,则无法获得results.size()。