multithreading - 如何同时使用 2 个 FireFoxDriver? Selenium 是否支持多线程?

标签 multithreading testing selenium webdriver

如何同时使用 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/

相关文章:

c - 互斥锁永远锁定函数中的一个值

java - JMockit - 验证私有(private)方法

java - 小服务程序测试

带有 Selenium 的 Python Urllib2 Cookiejar

testing - 我的网页无限滚动,我该如何测试?

c# - 如何在 Selenium 3.1.0 中设置 ImplicitWait

java - 关于在对象的构造函数完成之前引用对象

java - if 语句中的compareAndSet。它是原子操作吗?

java - 在不更改代码的情况下中断在 java 进程中运行的挂起线程的命令

Python测试整个脚本