3

我们正在使用 watir webdriver 来测试我们的应用程序。目前,我在 linux 服务器上每 1 或 3 分钟启动 20 个 watir 测试。由于 Firefox 的工作方式,我们经常会遇到测试无法运行,因为它在启动期间锁定了端口 7055。如果端口没有及时发布,同时开始的测试最终会超时。

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

gems/selenium-webdriver-2.21.1/lib/selenium/webdriver/firefox/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​​ 很陌生,所以猜测有一种更好的方法来编写脚本。

感谢您提供的任何意见。

4

1 回答 1

1

我认为您最好在每个脚本中加入一些逻辑,而不是修改 firefox launcher.rb。这样的事情可能会有所帮助!

看看下面的链接: Ruby - 检查端口是否打开

于 2012-06-28T12:06:02.083 回答