【问题标题】:Is there a way to close and reopen browser when using cucumber scenario outlines and webdriver io使用黄瓜场景大纲和 webdriver io 时有没有办法关闭和重新打开浏览器
【发布时间】:2019-10-21 14:14:24
【问题描述】:

我正在使用 v5 的 web 驱动程序 io 和一个黄瓜框架。我有带有多个示例的场景大纲。我想关闭浏览器并在示例之间重新打开它,这样我就有了一个干净的网页。但我找不到办法做到这一点。我确定我已经看到了有关此的任何信息,但我找不到它。

我浏览了 webdriverio 文档,我能找到的最后一件事是从 2016 年开始,它说这是不可能的,但是有一个关于实现某些东西的讨论,但我找不到更多细节。

【问题讨论】:

  • 如果你想为每个场景打开和关闭浏览器,那么你应该尝试使用来自黄瓜的 '@Before' 和 '@After' 钩子。在此处查看文档 - cucumber.io/docs/cucumber/api

标签: cucumber webdriver-io


【解决方案1】:

你在找这个吗:

browser.reloadSession()

https://webdriver.io/docs/api/browser/reloadSession.html

【讨论】:

    【解决方案2】:

    你可以使用钩子,我在下面分享一个例子。

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

    【讨论】:

    • 谢谢你的帮助,我会试试看
    猜你喜欢
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 2017-11-21
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多