當運行測試時,我不希望每次Behat發佈需要Chrome的場景時都會被Chrome彈出窗口所困擾。水貂和Behat:有沒有辦法在後臺啓動硒(Chrome)?
我知道有一個maximizeWindow()
方法爲session
對象,但沒有像「最小化」。
當運行測試時,我不希望每次Behat發佈需要Chrome的場景時都會被Chrome彈出窗口所困擾。水貂和Behat:有沒有辦法在後臺啓動硒(Chrome)?
我知道有一個maximizeWindow()
方法爲session
對象,但沒有像「最小化」。
如今,您可以設置Chrome瀏覽器在無頭的模式,像這樣運行(behat.yml
):
default:
extensions:
Behat\MinkExtension:
javascript_session: browser
sessions:
browser:
selenium2:
browser: chrome
capabilities:
chrome:
switches:
- "--headless"
似乎沒有辦法在後臺啓動。 maximizeWindow
用於設置分辨率。
您應該嘗試在虛擬機或另一臺PC上運行,以避免這類問題,彈出窗口和運行自動化的窗口進行錯誤交互。
在編寫新測試和調試時應該在同一臺機器上運行。
您可以使用虛擬幀緩衝區運行Chrome,以便窗口顯示在虛擬屏幕上而不是真實屏幕上。
這還允許在無頭機器(如構建服務器)上輕鬆運行測試。
在Linux上,我們使用xvfb
來達到這個特定目的。更多信息:How To Run Your Tests Headlessly with Xvfb
對於Windows,請參閱Is there anything like xvfb or xnest for Windows?
我發現了這一點,沒一個可以接受的解決方案不需要我在無頭或在虛擬機中運行Chrome。
只需在本地計算機上使用輔助用戶帳戶登錄,然後在該帳戶上運行selenium。然後,切換回您的主用戶帳戶並運行測試。 chrome瀏覽器將在運行selenium的用戶下創建,您將永遠不會看到chrome窗口彈出。
我試過你的解決方案,工作正常!但我不得不更新硒服務器和鉻驅動程序。 – Roubi