首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用cucumber方案大纲和webdriver io时,是否有关闭和重新打开浏览器的方法

在使用cucumber方案大纲和webdriver io时,是否有关闭和重新打开浏览器的方法
EN

Stack Overflow用户
提问于 2019-10-21 22:14:24
回答 2查看 501关注 0票数 1

我使用的是web driver io的v5和一个黄瓜框架。我有多个例子的场景概要。我想关闭浏览器,并在示例之间重新打开它,这样我就有了一个干净的网页。但我找不到这样做的方法。我确定我见过关于这个的任何东西,但是我找不到它。

我看过webdriverio的文档,我能找到的最后一件事是2016年的,它说这是不可能的,但有关于实现一些东西的讨论,但我找不到更多的细节。

EN

回答 2

Stack Overflow用户

发布于 2019-10-22 00:37:59

你在找这个吗:

browser.reloadSession()

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

票数 0
EN

Stack Overflow用户

发布于 2019-10-24 16:08:36

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

UiHooks.java :

代码语言:javascript
运行
复制
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 :

代码语言:javascript
运行
复制
public class HookUtil {
public static WebDriver driver = null;
public static SeleniumBase seleniumBase = null;
}

,然后您可以创建一个设置并在第一步中调用:

代码语言:javascript
运行
复制
private void Setup() {

    seleniumBase = new SeleniumBase(UiHooks.BASE_URL);
    driver = seleniumBase.getDriver();
    HookUtil.driver = driver;
    HookUtil.seleniumBase = seleniumBase;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58488185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档