2012-06-20 133 views
3

我们使用watir webdriver来测试我们的应用程序。目前,我有20个watir测试在Linux服务器上每隔1或3分钟开始启动。由于firefox的工作方式,我们会因为在启动过程中锁定端口7055而不断运行测试失败。如果端口未及时发布,那么同时开始的测试最终会超时。selenium-webdriver的launcher.rb

后吨试验的,我似乎通过修改这个文件已经能够来解决这个问题:

宝石/硒的webdriver-2.21.1/lib目录/硒/ webdriver的/火狐/ launcher.rb

我加入这个代码位上方附近指定一个随机端口锁定而不只是默认的7055这似乎已经帮助了很多,现在才看到罕见的失败。

询问是否有更好的方法来做到这一点,或者如果这可能会引入任何问题?

 ### added to attempt to reduce unable to open firefox issues 
     if @port == 7055 then 
      @port += rand(2000) 
      puts "PORT: #{@port}" 
     end 

任何其他人与此混淆?我对ruby非常陌生,所以猜测还有更好的脚本编写方法。

感谢您提供任何输入。

回答

1

不是修改火狐launcher.rb我想你最好将一些逻辑在每个脚本的。像这样的东西可能会有所帮助!

看看下面的链接: Ruby - check if a port is open

相关问题