使用cucumber场景大纲和webdriver io时,是否有关闭和重新打开浏览器的方法
我正在使用v5的web驱动程序io和cucumber框架。我有多个例子的场景大纲。我想关闭浏览器,然后在示例之间重新打开它,这样我就有了一个干净的网页。但是我找不到一个方法来做这件事。我肯定我见过这方面的任何东西,但我找不到使用cucumber场景大纲和webdriver io时,是否有关闭和重新打开浏览器的方法,cucumber,webdriver-io,Cucumber,Webdriver Io,我正在使用v5的web驱动程序io和cucumber框架。我有多个例子的场景大纲。我想关闭浏览器,然后在示例之间重新打开它,这样我就有了一个干净的网页。但是我找不到一个方法来做这件事。我肯定我见过这方面的任何东西,但我找不到 我查阅了webdriverio文档,最后发现的是2016年,当时说这是不可能的,但有一个关于实施的讨论,但我找不到更多细节。你在找这个: browser.reloadSession() 您在找这个吗: browser.reloadSession() 您可以使用钩子,我在下面
我查阅了webdriverio文档,最后发现的是2016年,当时说这是不可能的,但有一个关于实施的讨论,但我找不到更多细节。你在找这个:
browser.reloadSession()
您在找这个吗:
browser.reloadSession()
您可以使用钩子,我在下面分享一个示例 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();
}
}
}
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;
}
HookUtil.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();
}
}
}
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;
}
然后您可以在第一步创建设置和调用:
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();
}
}
}
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;
}
你可以使用钩子,我在下面分享一个例子 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();
}
}
}
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;
}
HookUtil.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();
}
}
}
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;
}
然后您可以在第一步创建设置和调用:
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();
}
}
}
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;
}
如果您想为每个场景打开和关闭浏览器,那么您应该尝试使用cucumber中的“@Before”和“@After”钩子。请参阅此处的文档-如果要打开和关闭每个场景的浏览器,则应尝试使用cucumber中的“@Before”和“@After”挂钩。请看这里的文档-谢谢你的帮助,我会试用的谢谢你的帮助,我会试用的