我们正在使用 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 很陌生,所以猜测有一种更好的方法来编写脚本。
感谢您提供的任何意见。