微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果在空手道中嵌套?

如何解决如果在空手道中嵌套?

如果按钮未被禁用,则需要声明角色并使少数角色的测试脚本失败。 为此,我尝试执行类似于以下的步骤:

   * 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! ")

我觉得为这个小东西调用一个不同的特性文件是不值得的。此外,这也没有按预期工作。嵌套如果将是解决此问题的方法。如果不是,或者我的方法有误,请帮助我提供一些可以添加到逻辑中的内容

我也尝试将上面调用的场景代码存储到一个变量中并调用它。

* 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

如果这没有帮助,我会给你这个答案,没有其他建议:https://stackoverflow.com/a/50350442/143475

让我知道什么是有效的!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。