我有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
答案 0 :(得分:1)
对于appium,您可以使用 id ,资源ID , cont-desc 或 xpath 进行唯一标识元素。 如果您在app元素中没有看到任何id或automationId(cont-desc),最好请开发人员将其放入代码中。
不建议使用xpath,但是如果没有任何id或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')]"));