asynchronous运行多个selenium webdriver实例(firefox)

我怎样才能让我的webdriver同时请求多个页面(或打开多个浏览器)?

我在互联网上find的所有解决scheme等待,直到前一届会议完成加载,然后才打开浏览器的新实例。

我已经尝试过selenium-webdriver,webdriverjs和wdjs,它们都不能asynchronous执行多个不同页面的http请求。 即使这样的解决schemehttps://github.com/OniOni/wd-parallel-async不会工作。 他们都在时间打开一个。

我错过了什么吗?

PS:我不想同时运行多个浏览器! 我想运行同一浏览器的多个实例。

就像是:

WebDriver driver1 = new FirefoxDriver(); WebDriver driver2 = new FirefoxDriver(); WebDriver driver3 = new FirefoxDriver(); driver1.get("page1"); driver2.get("page2"); driver3.get("page3"); 

如果你真的需要它是asynchronous的,那么你将需要进入Java线程……这将使这成为一个更长的讨论和脱离主题。

利用线程。 我看到你有node.js标记…我不是那么熟悉,但下面是ac#示例,工程…类似的理论应该适用。 C#

  Parallel.Invoke( ()=> { 1st test execution call }, ()=> { 2nd test execution call }, ()=> { 3rd test execution call } ); 

虽然要小心,因为webdriver有时可能会混淆和重叠的窗口。 我发现在一台机器上每次做5个以上会导致各种各样的问题。 如果你在c#中使用Parallel.Invoke ,你可以一次只限制一个数字,尽pipeGrid是最好的方法,当你在configuration中设置你的限制,然后为你平衡负载。