如何同时使用 2 个 FireFoxDriver? Selenium 是否支持多线程?
我有下面的测试,它打开了 2 个 firefox 浏览器,但两个导航只发生在第一个浏览器实例上!
[Test]
public void TestMultithreading()
{
var tasks = new List<Task>
{
new Task(goToBbc),
new Task(goToGoogle)
};
tasks.ForEach(task => task.Start());
Task.WaitAll(tasks.ToArray());
}
private void goToBbc()
{
openBrowserAndGoTo("http://www.bbc.com");
}
private void goToGoogle()
{
openBrowserAndGoTo("http://www.google.com");
}
private void openBrowserAndGoTo(string url)
{
var webDriver = new FirefoxDriver();
webDriver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 1, 0));
webDriver.Navigate().GoToUrl(url);
Thread.Sleep(5000);
webDriver.Quit();
}
希望问题清楚。
谢谢,
最佳答案
Selenium RC/WebDriver 旨在使 浏览器自动化。如果您想并行运行多个测试,您应该考虑通过 Selenium Grid/RemoteDriver 运行脚本。
关于multithreading - 如何同时使用 2 个 FireFoxDriver? Selenium 是否支持多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9739067/