有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

Im目前正在使用一个数据提供程序输入许多不同的用户,但当测试结束时,前一个用户仍在登录,如何在每次运行后重置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类,它是从我的测试类扩展而来的,但它似乎没有创建新的实例,当它使用新的数据提供程序信息重新启动时,我始终会登录

@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();
    }
}

共 (1) 个答案

  1. # 1 楼答案

    如果使用testng,可以添加after方法:

       @AfterMethod
    void deleteCoockies() {
      Drivers.getDriver().manage().deleteAllCookies();
      Drivers.getDriver().get ("homePageUrl");
    }