测试用例)通过 testRunner.runTestStepByName ("Soap 请求名称") 并在 soap 请求执行后-6ren">
gpt4 book ai didi

groovy - 需要帮助 - SoapUi testRunner.getStatus() 无限期返回状态为 "RUNNING"

转载 作者:行者123 更新时间:2023-12-02 22:06:19 24 4
gpt4 key购买 nike

在 SoapUI 中执行 soap 请求测试步骤后(在测试套件下 -> 测试用例)通过 testRunner.runTestStepByName ("Soap 请求名称")

并在 soap 请求执行后等待 10 秒 testRunner.getStatus()正在返回 RUNNING 状态。下面是 groovy 脚本(在同一个测试套件下 -> 测试用例)

import groovy.sql.Sql;
import com.eviware.soapui.model.testsuite.TestRunner.Status

testRunner.runTestStepByName("GetCitiesByCountry - Request 1")
sleep(10000)
log.info( "...${testRunner.getStatus()}...")

while ( testRunner.getStatus() == Status.RUNNING ) {
log.info(testRunner.getStatus())
}

输出如下

Wed Apr 17 21:06:22 IST 2013:INFO:RUNNING
Wed Apr 17 21:06:22 IST 2013:INFO:RUNNING
Wed Apr 17 21:06:22 IST 2013:INFO:RUNNING
Wed Apr 17 21:06:22 IST 2013:INFO:RUNNING
Wed Apr 17 21:06:22 IST 2013:INFO:RUNNING
Wed Apr 17 21:06:22 IST 2013:INFO:RUNNING
.
.
continuing for infinite time...

理想情况下它应该返回 FINISHED 因为上面的测试步骤被执行了 ,

非常感谢对此的任何帮助

最佳答案

这听起来合乎逻辑,只要您在循环中,测试就在“运行”。您可以通过以下方式获取状态:

import com.eviware.soapui.model.testsuite.TestStepResult.TestStepStatus
myTestStepResult = testRunner.runTestStepByName("GetCitiesByCountry - Request 1")
myStatus = myTestStepResult.getStatus()
if (myStatus == TestStepStatus.OK)
log.info "The step status is: " + myStatus.toString()
else
log.error "The step status is: " + myStatus.toString()

此外,由于对 runTestStepByName 的调用是同步的,因此没有“正在运行”状态,只有“取消”、“失败”、“确定”或“未知”。

See the doc here

关于groovy - 需要帮助 - SoapUi testRunner.getStatus() 无限期返回状态为 "RUNNING",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16064365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com