基于Groovy结果响应的条件跳转

时间:2019-04-28 03:40:57

标签: if-statement groovy soapui

首先,我不确定是否可行,但是我想根据groovy脚本结果使groovy脚本有条件地运行到一个或另一步:

我想要的选项是3:

有效 不活跃 停止

我有一个时髦的脚本步骤来定义一个UI窗口,以提示如下:

def ui = com.eviware.soapui.support.UISupport;
def path = ui.prompt("Active Inactive or Stop","Title","");
def regResult = path

因此,根据我在弹出窗口中键入的内容,执行以下操作:

If Active / Go to testRunner.gotoStepByName("InjectActive")
If Inactive / Go to testRunner.gotoStepByName("InjectInactive")
If Stop / Go to testRunner.gotoStepByName("Final Results")

PrestaShop

关于如何执行此操作的任何想法?

预先感谢

2 个答案:

答案 0 :(得分:0)

我意识到该怎么做:

def result = testRunner.testCase.getTestStepByName("Where").getPropertyValue("result")

if (result == ("Active")) {
  testRunner.gotoStepByName("InjectActive")
} 
else if (result == ("Inactive")){
  testRunner.gotoStepByName("InjectInactive")
}
else if (result == ("Stop")){
  testRunner.gotoStepByName("Final Results")
}

答案 1 :(得分:0)

Switch Statement in Groovy在您的情况下功能强大且更加清洁:

def result = testRunner.testCase.getTestStepByName("Where").getPropertyValue("result")

switch (result) {
    case "Active": testRunner.gotoStepByName("InjectActive"); break 
    case "Inactive": testRunner.gotoStepByName("InjectInactive"); break
    case "Stop": testRunner.gotoStepByName("Final Results"); break
    // in case result is null or empty
    case {!it}: testRunner.gotoStepByName("result is null or empty"); break
    // handle any other values
    default: testRunner.gotoStepByName("Unexpected value")
}

希望有帮助。