如何在C#中使用Selenium WebDriver进行每次测试后阻止Nunit关闭浏览器

时间:2018-01-05 13:19:22

标签: c# visual-studio selenium-webdriver nunit

当我在Visual Studio中使用Nunit测试Selenium WebDriver时,在使用[Test]注释的每个方法之后,浏览器关闭。

我有办法防止它吗? 这意味着有几个测试会在同一个浏览器实例上运行吗?

以下是我正在做的事情:

class Controllers
{
    private static IWebDriver driver;


    [SetUp]
    public void Setup()
    {
        driver = new ChromeDriver(@"C:\Users\chromedriver_win32");
        driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
        driver.Navigate().GoToUrl("https://github.com");
    }

    [Test]
    public void Alert()
    {
        driver.FindElement(By.Id("MyAlert")).Click();
        IAlert alert = driver.SwitchTo().Alert();
        Debug.WriteLine(alert.Text);
        alert.Accept();
    }

    [Test]
    public void Alert2()
    {
        driver.Navigate().GoToUrl("https://www.youtube.com/");
        driver.FindElement(By.Name("search_query")).SendKeys("The lion king");
        driver.FindElement(By.Id("search-icon-legacy")).Submit();

    }

    [TearDown]
    public void TearDown()
    {
        driver.Quit();
    }
}

我基本上想从Github转到Youtube,而浏览器之间没有关闭浏览器。

2 个答案:

答案 0 :(得分:1)

我的错误是使用[TearDown]而不是使用[OneTimeTearDown]导致浏览器在每次测试后关闭。

答案 1 :(得分:0)

您可以在java中使用driver.get()或在C#中使用driver.Url = "http://www.google.com";导航到同一实例中的新网址。