当我在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,而浏览器之间没有关闭浏览器。
答案 0 :(得分:1)
我的错误是使用[TearDown]而不是使用[OneTimeTearDown]导致浏览器在每次测试后关闭。
答案 1 :(得分:0)
您可以在java中使用driver.get()
或在C#中使用driver.Url = "http://www.google.com";
导航到同一实例中的新网址。