是否有任何方法可以有条件地跳过java中的场景?

是否有任何方法可以有条件地跳过java中的场景?,java,cucumber,bdd,Java,Cucumber,Bdd,是否有任何方法可以有条件地跳过java中的场景 在下面的图片中,我想跳过为检查数据而编写的场景,因为在新闻发布部分没有可用的数据 我计划首先检查无可用数据的场景,如果成功执行,则跳过其余场景 添加要素文件以进一步了解: 背景: 显示给定的主页 当我导航到“XYZ”菜单时 然后应显示“新闻稿”部分 @News And "Press release" section should I check for No data present @News And "Press release

是否有任何方法可以有条件地跳过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下的其余场景应加上尖峰,而不是在每个场景中检查相同的条件。

如果使用,则可以使用。例如,在步骤失败时,将原始异常扭曲为AutomationError,您的场景将被跳过,而不是失败。您还可以设置步骤元数据并在侦听器中使用它。下面是代码示例:

    //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));
        }
    }

您是在谈论场景中的步骤还是跳过整个场景?您可以在问题中添加您的要素文件吗?您可以执行一个步骤,检查数据,如果未找到数据,则添加数据。以步骤为前提。鉴于然后我有一些数据…,或者我没有任何数据。添加的示例功能文件是否可以使用cucumber harness实现(我不太清楚,如果有人知道可以提供帮助),如下面链接中所述?打电话。场景_done分别在场景执行的开始和结束时调用。这两种方法都接受Test::BDD::cucumber::Model::Scenario模块和数据集哈希。是否有任何一种方法对此查询有任何解决方案?