1

每當我啓動我的硒測試用例時,在遠程桌面上運行時很少有(5-6)個測試用例失敗。但是,當我在我的本地運行他們絕對正常工作。我的本地和RDP都有相同的chrome驅動程序版本,相同的操作系統(win7)和相同的瀏覽器版本。我在下面看到了strace中的兩種錯誤。Selenium webdriver腳本在Chrome瀏覽器的遠程計算機上失敗

1.unknown錯誤:元素在點(611,449)處不可點擊。其他元素將收到點擊 2.stale元素參考:元素沒有連接到

我使用的是遠程wedriver 新RemoteWebDriver(新URL(driverUrl),browser.getCapabilities())的頁面文件;

我不知道爲什麼他們中的一些僅僅在RDP上失敗。任何幫助將不勝感激 。

+0

在我看來,它並沒有以任何方式被分配給chrome,在遠程firefox你會得到同樣的例外。但這只是我的猜測。 – SkorpEN

回答

1

腳本通常有問題。 事情你可以做些什麼來解決1)unknown error: Element is not clickable at point (611, 449). Other element would receive the click

  • 始終測試之前運行window.maximize()
  • 等待元素可見
  • 提高定位,有時它可能不會點擊什麼ü認爲

需要修復的問題2.stale element reference: element is not attached to the page document: 無用web元素列表,每次使用元素時都要找到元素,這個問題通常會被修復。

0

當驅動程序在遠程執行測試時,由於瀏覽器第一次出現,我已經看到它不會在我的桌面上啓動到我的Web應用程序中。對於瀏覽器,當它由驅動程序啓動時,它可能看起來像一個新用戶。如果在運行測試時可以觀察遠程機器,您可能會看到這一點。這讓我特別在使用Firefox時遇到了問題,我不得不進入引擎蓋下的配置文件來殺死第一次運行行爲。如果由於某些原因不方便觀察在目標遠程機器上運行的測試,您也可以嘗試抓屏。

其他的想法...

在代碼檢查的元素,有時時間是一個問題,嘗試睡眠並重新檢查元素。如果目標在物理上位於網絡較慢的其他位置,則時機可能是一個問題。

+0

Eelke,謝謝你的迴應。我在遠程看到任何差異。它的執行方式和我本地的一樣。如果我不得不說在代碼方面,奇怪的部分是不是每次都是相同的測試用例失敗,一次測試用例另一次是另一個測試用例,但b/w我提到的2個錯誤,工作正常,沒有任何問題本地。我的RDP具有比本地更高的配置,並且位於同一網絡上。這可能是導致測試失敗的原因嗎? – maddie

+0

一些其他的想法,你的機器和遙控器之間的屏幕分辨率的差異可以使不同的區別。如果屏幕分辨率太小並且目標元素結束離開屏幕並且不被處理,則如另一篇文章中所建議的那樣最大化可能沒有幫助。儘管「永遠最大化」意味着,但這個概念實際上是爲了使測試在每臺機器上都可以重複和相同。 – Eelke

+0

我有這個完全相同的問題。 Firefox/chrome在本地運行良好,但在我的ec2實例上調用測試時,它們隨機失敗。添加睡眠和最大化窗戶沒有奏效。你是如何解決這個問題的?我搜索了高和低,並沒有發現有用的資源。 –

相關問題