2

的Safari 10.0.1 MACOS塞拉利昂硒3.0.1 safaridriver失敗上waitForElementVisible()

當運行Codeception命令:

$I->waitForElementVisible(['css' => 'input[type=text][id=UserUsername]'], 30); 

在在Safari驗收測試硒3.0.1我接收一個錯誤。失敗時截圖清楚地顯示了有問題的元素。 Firefox和Chrome瀏覽器都支持相同的測試/命令。錯誤:

Screenshot saved to /Applications/MAMP/htdocs/AutomatedTests/tests/_output/debug/FAILED1479307207.png 
    Unable to retrieve Selenium logs : The command 'GET /session/9BC56414-8934-4315-9293-B6E99720E318/log/types' is not implemented. 
    Command duration or timeout: 3 milliseconds 
    Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700' 
    System info: host: 'Cosettes-MacBook-Pro.local', ip: '10.0.1.75', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.1', java.version: '1.8.0_101' 
    Driver info: org.openqa.selenium.safari.SafariDriver 
    Capabilities [{applicationCacheEnabled=true, rotatable=false, databaseEnabled=true, handlesAlerts=true, version=12602.2.14.0.5, cleanSession=true, platform=MAC, nativeEvents=true, locationContextEnabled=false, webStorageEnabled=true, browserName=safari, javascriptEnabled=true, cssSelectorsEnabled=true}] 
    Session ID: 9BC56414-8934-4315-9293-B6E99720E318 
    Screenshot and page source were saved into '/Applications/MAMP/htdocs/AutomatedTests/tests/_output/' dir 
ERROR 

當我在Safari /火狐/鉻運行相同的測試/命令與硒2.53.1發現,沒有任何問題的元件。

有沒有這種類型的定位器的一個已知的問題我沒有找到時,通過論壇?任何人都有如何完成這項工作的建議?

更新12-01-16:現在看起來像waitForElementVisible()命令比定位器更多的問題。如果我將命令更改爲$I->waitForElement(['css' => 'input[type=text][id=UserUsername]'], 30);,則測試會成功向前移動,直到下一個waitForElementVisible()命令。

+0

不完全相同的問題,但它可能對你有幫助。 https://github.com/SeleniumHQ/selenium/issues/2680 – cyildirim

+0

謝謝,但我不這麼認爲。我已閱讀該問題/修復。這裏描述的問題是無法連接safariDriver。我很好過了這一點。 – CosetteN

+0

@CosetteN你找到了解決方案嗎?我有同樣的問題。 – Isengo

回答

4

People say Safari 10發行版中的可見性檢查被破壞。您可以嘗試Safari Technology Preview,如果您的問題仍然存在,我們可以得出結論,這是其他一些問題,而不是可見性檢查問題。如果您的問題消失了,那麼這不僅僅是您用戶的體驗,反而總比沒有好。您也可以嘗試在瀏覽器一側使用一些腳本來實現自己的可見性檢查,作爲解決方法(例如,this function看起來不錯)。

在Safari中技術預覽運行測試,加

'safari.options': { technologyPreview: true } 

的能力。

另請參閱關於此主題的my other answer

+1

我們正與當前的Safari和Chrome舊版本的硒webdriver的成功,我們會堅定地走下去,直到Safari瀏覽器得到它的共同行動。 – CosetteN

+0

我是否懂得正確的,在Safari 10,你正在使用的擴展Safari瀏覽器實施的舊的Web驅動程序,並能正常工作?你使用什麼版本的Selenium Server? – thorn

+1

是的。我們住在2.53.1日常測試,同時我試了又試把我們帶到3.0.1有它的火狐,Chrome,Safari瀏覽器和工作。目前的設置讓Firefox的版本爲47.0.1,但我們擁有比Firefox更多的Safari用戶,所以我們優先使用Safari。 – CosetteN