2012-06-20 72 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

相關問題