Appium getText() 在 AndroidElement 上的 sendKeys() 之后抛出 NoSuchElementException
Appium getText() throws NoSuchElementException after sendKeys() on AndroidElement
我有带 android:hint="oldtext"
的 EditText。在 Appium 测试项目中,通过 Android UIAutomator 找到这个元素:
WebElement element =
driver.findElementByAndroidUIAutomator("new UiSelector().text(\"oldtext\");
然后我将新文本发送到元素并调用 get 方法
element.sendKeys("newText");
element.getText();
我想断言新文本,但它抛出 NoSuchElementException
:
org.openqa.selenium.NoSuchElementException: UiSelector[TEXT=oldText]
For documentation on this error, please visit:
http://seleniumhq.org/exceptions/no_such_element.html
对于appium你可以使用id, resource-id, cont-desc 或者xpath 来唯一标识元素。
如果您在应用程序元素中没有看到任何 id 或 automationId (cont-desc),最好让您的开发人员将它们放入代码中。
Using xpath is not recommended but you can use if there is no any id or cont-desc.
现在您可以像下面这样访问您的元素了。
WebElement element= driver.findElement(By.id("element Id")).sendKeys("new Text");
//or
WebElement element = driver.findElementById("element id").sendKeys("new Text");
//using accessibility id
WebElement element = driver.findElementsByAccessibilityId("accesibility Id");
//using xpath
WebElement element = driver.findElement(By.xpath("//EditText[contains(@text,'oldtext')]"));
我有带 android:hint="oldtext"
的 EditText。在 Appium 测试项目中,通过 Android UIAutomator 找到这个元素:
WebElement element =
driver.findElementByAndroidUIAutomator("new UiSelector().text(\"oldtext\");
然后我将新文本发送到元素并调用 get 方法
element.sendKeys("newText");
element.getText();
我想断言新文本,但它抛出 NoSuchElementException
:
org.openqa.selenium.NoSuchElementException: UiSelector[TEXT=oldText]
For documentation on this error, please visit:
http://seleniumhq.org/exceptions/no_such_element.html
对于appium你可以使用id, resource-id, cont-desc 或者xpath 来唯一标识元素。 如果您在应用程序元素中没有看到任何 id 或 automationId (cont-desc),最好让您的开发人员将它们放入代码中。
Using xpath is not recommended but you can use if there is no any id or cont-desc.
现在您可以像下面这样访问您的元素了。
WebElement element= driver.findElement(By.id("element Id")).sendKeys("new Text");
//or
WebElement element = driver.findElementById("element id").sendKeys("new Text");
//using accessibility id
WebElement element = driver.findElementsByAccessibilityId("accesibility Id");
//using xpath
WebElement element = driver.findElement(By.xpath("//EditText[contains(@text,'oldtext')]"));