gpt4 book ai didi

java - 使用数据提供程序时如何在测试后重新启动浏览器

转载 作者:行者123 更新时间:2023-11-30 10:13:40 25 4
gpt4 key购买 nike

我目前正在使用数据提供程序输入大量不同的用户,但是当测试结束时,之前的用户仍然登录,如何在每次运行后重置 bowser?这是我的代码:

public class login_from_login_page extends ConditionsWebDriverFactory {

public static final int TEST_CASE_PASSED_STATUS = 1;
public static final int TEST_CASE_FAILED_STATUS = 5;


@Test(dataProviderClass = Data.DataProviders.class, dataProvider = "customer")
public void LoginActionTest (String pass, String email, String user) throws Exception{

Header header = new Header();
header.guest_select_login();
Pages.Login login = new Pages.Login();
login.LoginAction(pass, email, user);


//TestRail.addResultForTestCase("16870",TEST_CASE_PASSED_STATUS," ");
//TestRail.addResultForTestCase("16874",TEST_CASE_PASSED_STATUS," ");
//TestRail.addResultForTestCase("17199",TEST_CASE_PASSED_STATUS," ");
}
}

我有一个从我的测试类扩展而来的 Webdriverfactory 类,但它似乎没有创建新实例,当它使用新的 DataProvider 信息重新启动时,我总是仍然登录。

@Listeners({ScreenShotOnFailListener.class})

public class ConditionsWebDriverFactory {

@BeforeClass
public void beforeTest() {
Drivers.startBrowser(true);
Drivers.getDriver().manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
}

@AfterClass (alwaysRun = true)
public void afterTest() {
Drivers.finishBrowser();
}
}

最佳答案

在测试执行之前通过初始化开始测试:

@BeforeMethod
void setupTest() {
WebDriver driver = new ChromDriver();
// method code here
}

或者使用新的驱动程序实例初始化您的页面对象:

Pages.Login login = new Pages.Login(new ChromDriver());

另一种选择:

@Test
void seleniumTest() {
// Test code here
login.getDriver().manage().deleteAllCookies();
login.getDriver().navigate.refresh();
}

关于java - 使用数据提供程序时如何在测试后重新启动浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51248550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com