Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium/Firefox:通过并行测试运行测试时,无法在45秒内绑定到锁定端口7054_Firefox_Selenium_Rspec - Fatal编程技术网

Selenium/Firefox:通过并行测试运行测试时,无法在45秒内绑定到锁定端口7054

Selenium/Firefox:通过并行测试运行测试时,无法在45秒内绑定到锁定端口7054,firefox,selenium,rspec,Firefox,Selenium,Rspec,我有七个独立的规范文件,它们在所有意图和目的上都是相同的,登录到网站,导航到页面,查找元素,注销-单独运行它们就完成了,没有任何错误 但是,我希望能够同时运行所有七个文件。它们必须在一台PC上本地运行。我每天都需要这样做,所以我需要它成为一个可靠的进程。我已经尝试了下面详述的几个选项,都有相同的问题 这一切似乎都源于运行多个firefox webdriver实例。所以我想这就是我的问题——有没有一种方法可以同时运行多个firefox webdriver实例,或者有没有更好的方法可以一起运行 如果

我有七个独立的规范文件,它们在所有意图和目的上都是相同的,登录到网站,导航到页面,查找元素,注销-单独运行它们就完成了,没有任何错误

但是,我希望能够同时运行所有七个文件。它们必须在一台PC上本地运行。我每天都需要这样做,所以我需要它成为一个可靠的进程。我已经尝试了下面详述的几个选项,都有相同的问题

这一切似乎都源于运行多个firefox webdriver实例。所以我想这就是我的问题——有没有一种方法可以同时运行多个firefox webdriver实例,或者有没有更好的方法可以一起运行

如果我手动启动所有七个rspec或ruby文件,同时选择all,按enter键,我最终会遇到大量无法在45秒内绑定到锁定端口7054的错误实例

如果我使用并行测试gem:parallel\u rspec file 1 file 2 file 3等,同样的问题也会发生

[31M故障/错误:无法从回溯[0m]中找到匹配的行 [31mSelenium::WebDriver::错误::WebDriverError:[0m [31m无法在45秒内绑定到锁定端口7054[0m [36m./spec_helper.rb:13:in'block 2 levels in'[0m

第13行是:@driver=Selenium::WebDriver.for:firefox

我创建了一个批处理文件,将每个rspec文件作为一个单独的进程启动。这是目前为止的最佳选择,但我仍然会遇到一些相同错误的实例

启动MyProcess1 file1.rb PING 127.0.0.1-N10 | | PING::1-N10 启动MyProcess2 file2.rb PING 127.0.0.1-N10 | | PING::1-N10 等 :循环 超时/t1>num 任务列表/v |查找MyProcess>nul&&goto:loop 所有任务都已完成

我还试着用phantomjs替换firefox的webdriver,phantomjs完全吐了出来,拒绝运行任何东西


到目前为止,我在这个问题上找到的所有信息都是因为用户无意中运行了webdriver的多个实例,所以我想运行多个实例。

这个问题与firefox显示设置有关

默认情况下,firefox webdriver在启动firefox超时前等待45秒。如果firefox找不到适当的显示,则会将此错误消息报告给控制台。请尝试在linux上设置显示,以下命令已为我解决:

$/usr/bin/Xvfb:99-屏幕0 1280x1024x24&