有没有办法我有条件地跳过Cucumber java中的场景?
在下面的图片中,我想跳过在新闻稿部分没有数据时为数据检查而编写的场景。
我计划首先检查没有可用的数据方案,如果成功执行则跳过其余的方案。
添加功能文件以获得更多的合法性:
背景: 给出主页页面 当我导航到“XYZ”菜单时 然后应显示“新闻稿”部分
@News
And "Press release" section should I check for No data present
@News
And "Press release" section should feature "latest News" portion
And "Press release" section having "abc" link for pagination
@News
And in "Press release" section click on news link
Then news details should be displayed
在上面的文件中,
如果@News
我应该检查“新闻发布”部分是否存在数据
返回正结果,然后我的其他方案应该加入标记@News,而不是在每个场景中检查相同的条件。
答案 0 :(得分:0)
如果您使用QAF-Gherkin,则可以使用step listener来执行此操作。例如,在步骤失败时,将AutomationError的原始异常扭曲,您的场景将被跳过而不是失败。您还可以设置step-meta-data并在侦听器中使用它。这是代码示例:
//This will called on step failure
@Override
public void onFailure(StepExecutionTracker stepExecutionTracker) {
TestStep step = stepExecutionTracker.getStep();
String myCustomMetaDataVal = (String) step.getMetaData().get("my-custom-meta-data");
if ("somevlaue".equalsIgnoreCase(myCustomMetaDataVal)) {
Throwable originalThrowable = stepExecutionTracker.getException();
stepExecutionTracker.setException(new AutomationError("meaningful message", originalThrowable));
}
}