我有两个@after标签,@ close-browser和@ screenshot.So,现在当我使用两个标签作为特征文件时,它首先执行@ close-browser而它在执行@screenshot方法后失败。 有没有办法告诉黄瓜先在方法之后运行@screenshot?
答案 0 :(得分:11)
有一个'命令'您可以传递给select * from Event(carID="car#1").win:length(20) as car1, Event(carID="car#2").win:length(20) as car2 where Math.abs(car1.time-car2.time) > 3 and car1.Location.Street = car2.Location.Street
和@Before
以控制执行顺序的参数:
@After
挂钩按升序运行(最低订货号先行),而挂钩按降序运行(最高订货号先行)。
答案 1 :(得分:3)
屏幕截图应采用@After
注释方法之一。像这样:
@After
public void finish(Scenario scenario) {
try {
byte[] screenshot =
helper.getWebDriver().getScreenshotAs(OutputType.BYTES);
scenario.embed(screenshot, "image/png");
} catch (WebDriverException somePlatformsDontSupportScreenshots) {
System.err.println(somePlatformsDontSupportScreenshots.getMessage());
}
finally {
helper.getWebDriver().close();
}
}