這樣我們就可以執行前到後的Web UI測試中,我們使用硒和ChromeDriver到頁面加載/互動自動化作爲我們的測試包的一部分。運行硒服務器和ChromeDriver作爲Windows服務
這是行爲的開發人員測試(開發者的本地機器上)在如預期,但我們正在努力執行這些檢查作爲我們持續集成構建的一部分。
我們的服務器工廠是基於* NIX的,我們所有的CI基礎設施都在這些機器上運行。爲了我們可以在Windows下測試Chrome(我們的交付機制),我們已經配置了一個Selenium Grid。當CI測試運行時,他們訪問網格,以便找到一個Windows節點來運行測試。
我們安裝了Windows桌面專門用於運行這些測試。這包含我們標準的Windows 7企業版本。本機將定期重新啓動,以符合IT部門的更新策略。
在努力確保硒服務器始終運行,我們增加了Selenium服務器作爲Windows服務(在「節點」模式下運行)。硒服務器配置爲啓動ChromeDriver以調用模擬的用戶交互。
但是,從CI運行測試時,由於超時而失敗。我們的工作理論是,運行服務的系統用戶不能創建交互式窗口。網絡搜索引發了對「Session 0」問題的提及,但對於如何向前推進幾乎沒有建設性的建議。
從交互式會話手動啓動Selenium服務器的過程不是一個可行的解決方案,因爲這是導致脆性試驗 - 這是一個基礎設施問題沒有到期,而不是一個真正的迴歸測試。
,我們怎麼能有硒Server實例通過Windows服務啓動時系統重新啓動,它能夠啓動Chrome實例?
是否存在Chrome的特定版本,您知道它在Session 0中有效?如果我可以簡單地降級,那麼這將是一個選擇。 – jwa 2014-10-20 13:54:30
在38之前版本的Chrome中,所有作爲windows服務都可以正常工作。自38版以來 - 我的selenium windows服務無法使用。降級Chrome解決了我的問題 – razon 2014-10-30 09:50:13
我可以確認@razon在說什麼。在服務中運行時,Chrome 37是最後一個已知版本。 – 2015-07-08 11:26:03