我使用XPath是一個Android應用程序:無效的選擇異常,而在醬實驗室運行Appium測試
//android.widget.EditText[contains(@resource-id,'etPass')]
此XPath工作正常,當我在真機或虛擬機在本地運行測試。
但是當我在Sauce Labs上運行相同的測試時,它給了我無效的選擇器異常。
org.openqa.selenium.InvalidSelectorException:
An error occurred while searching for an element by XPath. (WARNING:
The server did not provide any stacktrace information)
Command duration or timeout: 88 milliseconds
For documentation on this error, please visit:
http://seleniumhq.org/exceptions/invalid_selector_exception.html
當我使用XPath與@text
而不是@resource-id
,它的工作原理。爲什麼Sauce Labs不認可@resource-id
作爲查找xpath的有效屬性?
下面是uiautomatorviewer與XML的截圖
你試過// android.widget.EditText [包含(@ id,'etPass')]'這個? –
是的,我試過了。它不考慮條件。 因此'//android.widget.EditText[contains(@id,'etPass')]'與'android.widget.EditText'相同。它只是去屏幕上的第一個EditText元素,恰好是用戶名框,而不是密碼框 – BludShot
@BludShot:請更新與您的代碼塊和appium檢查員屏幕截圖的問題提到的元素,以弄清事情 – nullpointer