如果在空手道中嵌套?
Nested if in karate?
需要断言角色并使少数角色的测试脚本失败(如果没有为它们禁用按钮)。
为此,我尝试执行类似于以下的步骤:
* assert (role=="DM"||role=="RM"||role=="AVP")
* eval if((role=="DM"||role=="AVP")? read('classpath:extraFeature.feature@checkIfDisabled') : print "options disabled... proceeding further!"
在这里,我调用一个带有标签@checkIfDisabled 的场景,其功能包含:
* if(exists(#listButton)) karate.fail("Options are enabled... Cannot proceed further! ")
我觉得为这个小东西调用不同的功能文件是不值得的。此外,这也没有按预期工作。嵌套 if 本来可以解决这个问题。如果不是或者我的方法有误,请帮助我解决一些可以增加逻辑的问题。
我也试过将上面调用的场景代码存入一个变量中调用。
* def fun = if(exists(#listButton)) karate.fail("Options are enabled... Cannot proceed further! ")
* call fun
但是错误语句类似于“此变量不可调用”。我的理解是我这边出了问题。但是为了寻找嵌套 if 的替代方案,我做了一些成功和试验。有什么建议或方法来解决这个问题吗?
谢谢!
你可以使用 eval
然后像这样委托给纯 JS:
* eval
"""
if (exists('#listButton')) karate.fail('blah')
else if (someCondition) {
// do something
}
"""
如果需要,甚至可以使用 JS switch case
!
如果这没有帮助,我会留下这个答案,没有其他建议:
让我知道什么有效!
需要断言角色并使少数角色的测试脚本失败(如果没有为它们禁用按钮)。 为此,我尝试执行类似于以下的步骤:
* assert (role=="DM"||role=="RM"||role=="AVP")
* eval if((role=="DM"||role=="AVP")? read('classpath:extraFeature.feature@checkIfDisabled') : print "options disabled... proceeding further!"
在这里,我调用一个带有标签@checkIfDisabled 的场景,其功能包含:
* if(exists(#listButton)) karate.fail("Options are enabled... Cannot proceed further! ")
我觉得为这个小东西调用不同的功能文件是不值得的。此外,这也没有按预期工作。嵌套 if 本来可以解决这个问题。如果不是或者我的方法有误,请帮助我解决一些可以增加逻辑的问题。
我也试过将上面调用的场景代码存入一个变量中调用。
* def fun = if(exists(#listButton)) karate.fail("Options are enabled... Cannot proceed further! ")
* call fun
但是错误语句类似于“此变量不可调用”。我的理解是我这边出了问题。但是为了寻找嵌套 if 的替代方案,我做了一些成功和试验。有什么建议或方法来解决这个问题吗?
谢谢!
你可以使用 eval
然后像这样委托给纯 JS:
* eval
"""
if (exists('#listButton')) karate.fail('blah')
else if (someCondition) {
// do something
}
"""
如果需要,甚至可以使用 JS switch case
!
如果这没有帮助,我会留下这个答案,没有其他建议:
让我知道什么有效!