我使用的是web driver io的v5和一个黄瓜框架。我有多个例子的场景概要。我想关闭浏览器,并在示例之间重新打开它,这样我就有了一个干净的网页。但我找不到这样做的方法。我确定我见过关于这个的任何东西,但是我找不到它。
我看过webdriverio的文档,我能找到的最后一件事是2016年的,它说这是不可能的,但有关于实现一些东西的讨论,但我找不到更多的细节。
发布于 2019-10-22 00:37:59
发布于 2019-10-24 16:08:36
你可以使用钩子,我在下面分享一个例子。
UiHooks.java :
import cucumber.api.Scenario;
import cucumber.api.java.After;
import cucumber.api.java.Before;
public class UiHooks {
public static final String BASE_URL = "https://baseURL/";
private Scenario scenario;
@Before
public void beforeScenario(Scenario scenario) {
    this.scenario = scenario;
        }
@After(order = 1)  //This will run first
public void afterScenario() {
    if (scenario.isFailed()){
       //do something like Secreen Shot or logger
        }
}
@After(order = 0)//This will run second
public void afterTest() {
   if (HookUtil.driver != null) {
        HookUtil.driver.close();
    }
    if (HookUtil.seleniumBase != null) {
        HookUtil.seleniumBase.stopService();
    }
}
}HookUtil.java :
public class HookUtil {
public static WebDriver driver = null;
public static SeleniumBase seleniumBase = null;
},然后您可以创建一个设置并在第一步中调用:
private void Setup() {
    seleniumBase = new SeleniumBase(UiHooks.BASE_URL);
    driver = seleniumBase.getDriver();
    HookUtil.driver = driver;
    HookUtil.seleniumBase = seleniumBase;
}https://stackoverflow.com/questions/58488185
复制相似问题