Groovy 如何在SOAP UI中将执行流完全转移到另一个步骤

Groovy 如何在SOAP UI中将执行流完全转移到另一个步骤,groovy,soapui,ready-api,Groovy,Soapui,Ready Api,我试图使用groovy将执行流转移到SOAPUI中的另一个步骤。 我使用的是gotoStepByName,但执行后会返回到下一行代码 我一直认为runTestStepByName将调用测试步骤。。完成执行并继续剩余的代码段 if (json.size() == 0) { testRunner.gotoStepByName( "DataSink") log.info "coming back here again" } 当gotoTestStepByName实际运

我试图使用groovy将执行流转移到SOAPUI中的另一个步骤。 我使用的是gotoStepByName,但执行后会返回到下一行代码

我一直认为runTestStepByName将调用测试步骤。。完成执行并继续剩余的代码段

if (json.size() == 0) {     
    testRunner.gotoStepByName( "DataSink")
    log.info "coming back here again"   
}
当gotoTestStepByName实际运行时,执行该步骤并继续执行后续步骤,而不返回并执行剩余的代码段

if (json.size() == 0) {     
    testRunner.gotoStepByName( "DataSink")
    log.info "coming back here again"   
}
在这里,我看到流程实际上正在返回并打印“再次返回这里…”

我怎样才能将执行流从groovy转移到另一个步骤,而不在转移步骤之前执行其余的代码和步骤


有什么想法吗?

要将执行转移到其他步骤(并跳过任何中间步骤),可以使用
gotoStepByName

要停止当前Groovy脚本的执行,可以使用
return
语句


因此,问题中提供的代码如下所示:

if (json.size() == 0) {     
    testRunner.gotoStepByName( "DataSink") // Transfer execution to other step
    return                                 // Stop execution of current script
    log.info "coming back here again"   
}

要将执行转移到其他步骤(并跳过任何中间步骤),可以使用
gotoStepByName

要停止当前Groovy脚本的执行,可以使用
return
语句


因此,问题中提供的代码如下所示:

if (json.size() == 0) {     
    testRunner.gotoStepByName( "DataSink") // Transfer execution to other step
    return                                 // Stop execution of current script
    log.info "coming back here again"   
}

你能详细说明一下你的用例吗?我也在尝试同样的方法,在你提出问题后,我意识到它并不像你所说的那样。如果您提到您案例的细节,可能会有其他选择。好的,SoapUI/ReadyAPI没有任何内置方法来执行该操作。控制总是会回来的。您应该使用许多变通方法。解释你的需求也许我们能找到一个好的解决方法。你能详细说明你的用例吗?我也在尝试同样的方法,在你提出问题后,我意识到它并不像你所说的那样。如果您提到您案例的细节,可能会有其他选择。好的,SoapUI/ReadyAPI没有任何内置方法来执行该操作。控制总是会回来的。您应该使用许多变通方法。解释你的要求,也许我们能找到一个好的解决办法。