Selenium c#:重用现有的浏览器会话,而不是打开新的窗口

本文关键字:窗口 浏览器 Selenium 会话 | 更新日期: 2023-09-27 18:16:48

如何在单个浏览器会话中运行所有测试方法,而不是使用selenium c#打开和关闭每个测试方法的浏览器。例如

    [TestInitialize]
    public void Startup()
    {
        driver = new FirefoxDriver();
        driver.Navigate().GoToUrl("http://testurl:2022");
        driver.FindElement(By.XPath("//a[contains(@id, 'tabDrugDimention')]")).Click();
        System.Console.WriteLine("Dimension page loaded");
        driver.FindElement(By.XPath("//a[contains(text(), 'Testcontent')]")).Click();
        System.Console.WriteLine("Drug Item clicked");
    }
    [TestMethod]
    public void DrugAnalysisclick()
    {
        ...        
    }
    [TestMethod]
    public void DrugAnalysisclick()
    {
        ...
    }
    [TestCleanup]
    public void TearDown()
    {
        driver.Quit();
    }

对于所有的测试方法,新的浏览器窗口正在打开和关闭。

谁能帮助,如何运行所有的测试方法在单一浏览器?

Selenium c#:重用现有的浏览器会话,而不是打开新的窗口

您只需要为每个测试重用相同的驱动程序,而不是在每个测试后调用driver.Quit()。正如在评论中指出的那样,当您通过重用驱动程序打破测试隔离时,您必须小心这一点。