不使用钩子如何获取黄瓜方案名称?

时间:2019-03-30 03:49:30

标签: guice bdd cucumber-jvm cucumber-java

我想获得每个方案的方案名称,以便在saucelabs上运行时将其设置为测试名称。可以在创建Webdriver之前使用MutableCapabilities设置此测试名称。我正在使用Google Guice @ScenarioScoped创建驱动程序,因此即使在调用@Before hook方法之前也将创建驱动程序。因此,有什么方法可以不用使用@Before钩子来访问方案名称吗?

3 个答案:

答案 0 :(得分:1)

根据黄瓜实现,如果不使用@Before或@After钩子就无法获得方案名称。 但是,下面应该可以解决您的问题: 您可以利用订购挂钩的优势。这些挂钩将根据指定的顺序执行。供参考:https://cucumber.io/docs/cucumber/api/ 示例:

@Before(order = 10)
public void doSomething(){
    // Do something before each scenario
}

因此,您可以在创建webdriver的类中添加另一个具有较低顺序的@Before hook的钩子,并且需要在创建webdriver之前放置此方法。

答案 1 :(得分:0)

黄瓜实现不应允许您在不使用@Before钩子的情况下访问方案名称

答案 2 :(得分:0)

使用testng创建黄瓜赛跑者课程。在run_cukes方法中,将使用方法 cucumberFeature.getCucumberFeature()。getGherkinFeature()。getName()

获得当前功能文件和方案名称。

enter image description here