【问题标题】:Selenium Test Script opening browser instance for each TCSelenium 测试脚本为每个 TC 打开浏览器实例
【发布时间】:2022-01-19 02:18:39
【问题描述】:

当我运行 2 个测试时,我的 selenium 脚本正在打开 2 个 chrome 浏览器,我们如何让一个浏览器执行所有测试脚本?
我有一个 Configtest.java,它基本上打开了ChromeDriver

public class Configtest   {

    public static WebDriver driver = null;
    @BeforeSuite
    public void setUp() {
        System.setProperty("webdriver.chrome.driver", "..\\chromedriver.exe");
       driver = new ChromeDriver();

    }
}


public class LogScreenTest extends Configtest {
@Test
public void login() {
 // use the driver defined in Configtest
}

public class HomeTest extends Configtest {
@Test
public void homeTest() {
// use the driver defined in Configtest
}
}

【问题讨论】:

    标签: java selenium browser


    【解决方案1】:

    我认为你应该使用 Hooks。在 @BeforeTestCase 钩子中打开会话

     driver = new ChromeDriver();
    

    并在 @AfterTestCase 挂钩中关闭活动会话

        if(driver!=null){driver.qui()}
    

    【讨论】:

    • 这是否意味着我们正在关闭在 LogScreenTest 中打开的浏览器会话并再次为 HomeTest 打开一个新会话?如果是这样,每次运行脚本时我都无法继续登录应用程序,如果我错了,请纠正我
    • 另一种方法是检查驱动程序会话是否已在您的设置中创建。如果是这样,只需返回相同的驱动程序。 if(driver!=null) return driver else return new ChromeDriver()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多