2017-08-16 26 views
0

我正在使用selenium和c#運行自動化測試,並使用PhantomJS作爲無頭瀏覽器來運行測試。在將一些新的Google分析代碼添加到網站後,一些測試最近開始出現不一致的失敗。測試有時無法在頁面上找到表單元素,但是在像鉻合金這樣的普通瀏覽器中運行時,它們每次都會傳遞。這些測試通常是等到可見語句失敗。谷歌分析代碼不能被刪除。PhantomJS找不到Chrome和Firefox可以在html頁面上查找的元素

我通過獲取測試失敗時運行的html代碼的副本進行調試,並且代碼在頭部剝離並且頭部中缺少一些腳本標記之後具有所有元素。頭後還有一個關閉的html標籤。只是想知道是否有人曾經看到類似的問題,並知道如何解決這個問題,而不必去掉分析。

回答

0

你甚至不需要使用PhantomJs。由於PhantomJs現在還沒有太多維護。您可以在無頭模式下使用chromedriver。

你只需要如下添加選項無頭: -

chromeOptions.addArguments("--headless"); 

Java中的完整的代碼將出現如下: -

System.setProperty("webdriver.chrome.driver","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\chromedriver.exe"); 
ChromeOptions chromeOptions = new ChromeOptions(); 
chromeOptions.addArguments("--headless"); 
chromeOptions.addArguments("--start-maximized"); 
WebDriver driver = new ChromeDriver(chromeOptions); 
driver.get("https://google.com"); 
+0

考慮過,作爲一個解決方案,但我不能」無論是否支持屏幕截圖,都無法得出明確的答案。非常方便的功能,用於調試失敗的測試。 – Geoff

+0

是的,你可以在無頭模式下使用屏幕截圖。 –

+0

正如我之前所說的,phantomJS存在一些維護問題。儘管嘗試擱置一段時間然後嘗試結果。而你的問題不清楚你正面臨哪個屬性/ DOM值問題。添加您嘗試過的HTML和代碼..這是如何計算器工作 –

相關問題