我有一个SOAP项目,如果断言失败则希望运行一个测试步骤,如果它通过则希望运行另一个测试步骤。
请参阅以下伪代码:
If assertion of node fails run testStep "Activate" Else run testStep "Deactivate"
这可能吗?!
由于
答案 0 :(得分:1)
让我们假设测试用例有以下步骤。
在这里,您希望根据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)
{
...
}
此处“客户 - 激活”和“客户 - 停用”是测试步骤的名称