Soap UI Groovy - 在失败的断言上运行测试步骤

时间:2017-12-11 15:14:02

标签: soap groovy soapui assertion

我有一个SOAP项目,如果断言失败则希望运行一个测试步骤,如果它通过则希望运行另一个测试步骤。

请参阅以下伪代码:

If assertion of node fails  
       run testStep "Activate"  
Else
       run testStep "Deactivate"

这可能吗?!

由于

2 个答案:

答案 0 :(得分:1)

让我们假设测试用例有以下步骤。

  1. 步骤1
  2. 步骤2
  3. 步骤3
  4. 在这里,您希望根据Step1的结果执行第2步或第3步之一。

    所以,如下所述,将Script Assertion添加到 Step1

    请注意,以下脚本的重点是启用禁用。您需要创建激活时的条件和步骤。

    我只是为演示提供示例条件。

    //Closure to enable to disable the test step
    def changeStep = { name, isDisable ->
        context.testCase.testSteps[name].disabled = isDisable
    }
    
    def value = 1
    def map = [:]
    //Change the step names as needed to your environment.    
    if (1 == value) {
        map['Step2'] = true
        map['Step3'] = false
    } else {
        map['Step2'] = false
        map['Step3'] = true
    
    }
    map.collect {k, v -> changeStep(k, v)}
    

    另请注意,当值为true时,相应的步骤将被禁用。 false启用该步骤。

    现在,当执行测试用例时,会自动禁用不需要的测试步骤,以便它不会运行。

答案 1 :(得分:1)

您可以尝试下面的代码,看它是否适合您的要求:

public override void Init()
{
  this.BeginRequest += MvcAppliction_BeginRequest;
}

private void MvcApplication_BeginRequest(object sender, EventArgs e)
{
  ...
}

此处“客户 - 激活”和“客户 - 停用”是测试步骤的名称