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

时间:2015-10-09 05:11:15

标签: c# selenium selenium-webdriver

如何在单个浏览器会话中运行所有测试方法,而不是使用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();
    }

对于所有测试方法,每个测试方法都会打开并关闭新的浏览器窗口。

任何人都可以帮忙,如何在单一浏览器中运行所有测试方法? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

您必须为每次测试重复使用相同的驱动程序,而不是在每次测试后调用driver.Quit()。正如评论中所指出的那样,当您通过重用驱动程序来分解测试隔离时,您必须小心。