在SoapUI Groovy步骤中获取上一个测试步骤的状态
我已经设置了以下测试用例:在SoapUI Groovy步骤中获取上一个测试步骤的状态,groovy,soapui,status,Groovy,Soapui,Status,我已经设置了以下测试用例: Datasource Soap Request Groovy Script Datasource loop 我想使用Groovy脚本测试步骤获得SoapRequest测试步骤的状态 可按如下所示进行: myTestStepResult = testRunner.runTestStepByName("Soap Request") myStatus = myTestStepResult.getStatus() 但是我不想运行TestStep-by脚本,只想使用SO
Datasource
Soap Request
Groovy Script
Datasource loop
我想使用Groovy脚本测试步骤获得SoapRequest测试步骤的状态
可按如下所示进行:
myTestStepResult = testRunner.runTestStepByName("Soap Request")
myStatus = myTestStepResult.getStatus()
但是我不想运行TestStep-by脚本,只想使用SOAPUITestRunner。
在datasink测试步骤中,我可以使用:
${=testRunner.results[testRunner.results.size()-1].status}
不幸的是,上述内容在GroovyScript测试步骤中不起作用
有什么想法吗?可以在不使用测试步骤名称的情况下运行测试步骤,并根据需要获取状态。并且假设测试步骤序列没有变化,即,
Soap请求
步骤始终是Groovy脚本
步骤的前一个步骤,并且没有其他步骤介于这两个步骤之间
Groovy脚本:
log.info testRunner.runTestStep(context.testCase.testStepList[context.currentStepIndex-1])。状态
可以在不使用测试步骤名称的情况下运行测试步骤,并根据需要获取状态。并且假设测试步骤序列没有变化,即,Soap请求
步骤始终是Groovy脚本
步骤的前一个步骤,并且没有其他步骤介于这两个步骤之间
Groovy脚本:
log.info testRunner.runTestStep(context.testCase.testStepList[context.currentStepIndex-1])。状态
为避免必须(再次)运行测试步骤,请尝试以下操作:
results = testRunner.getResults()
status = results.get(results.size() - 1).getStatus()
log.info status
运行测试用例后,脚本日志应该显示上一个测试步骤的状态
请注意,在运行测试用例时,必须执行包含代码的Groovy脚本测试步骤。如果仅运行测试步骤,将出现以下错误:
(java.lang.ArrayIndexOutOfBoundsException)
这是正常的,因为如果列表为空,则无法获得results.size()。为避免必须再次运行测试步骤,请尝试以下操作:
results = testRunner.getResults()
status = results.get(results.size() - 1).getStatus()
log.info status
运行测试用例后,脚本日志应该显示上一个测试步骤的状态
请注意,在运行测试用例时,必须执行包含代码的Groovy脚本测试步骤。如果仅运行测试步骤,将出现以下错误:
(java.lang.ArrayIndexOutOfBoundsException)
这是正常的,因为如果列表为空,则无法获得results.size()。Han van Oostende,您的意思是要使用硬编码的步骤名称吗?请澄清其他情况?另外,没有得到-“但是我不想通过脚本运行TestStep,而只是使用soapui testrunner。”。你能澄清一下吗?希望澄清一下:我不想使用groovyscript testrunner.runTestStepByName运行测试用例搞乱了最后一条评论:希望澄清一下:我注意到如果我使用[Groovy脚本]myTestStepResult=testrunner.runTestStepByName(“Soap请求”)myStatus=myTestStepResult.getStatus()当它到达Soap请求步骤时,它将运行testStep soapRequest一次,当它到达调用testRunner的Groovy脚本时,它将运行第二次。runTestStepByName(“Soap请求”)我只需要第一次调用的状态(当它运行testcase时)Han van Oostende,你的意思是想使用硬编码的步骤名称吗?请澄清其他情况?另外,没有得到-“但是我不想通过脚本运行TestStep,而只是使用soapui testrunner。”。你能澄清一下吗?希望澄清一下:我不想使用groovyscript testrunner.runTestStepByName运行测试用例搞乱了最后一条评论:希望澄清一下:我注意到如果我使用[Groovy脚本]myTestStepResult=testrunner.runTestStepByName(“Soap请求”)myStatus=myTestStepResult.getStatus()当它到达Soap请求步骤时,它将运行testStep soapRequest一次,当它到达调用testRunner的Groovy脚本时,它将运行第二次。runTestStepByName(“Soap请求”)我只需要第一次调用的状态(当它运行testcase时),如果可以的话,我将在报告中尝试使用这个状态。谢谢!我要尝试一下,如果这是有效的,谢谢!