Appium getText () создает исключение NoSuchElementException после sendKeys () в AndroidElement - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть EditText с android:hint="oldtext". В проекте тестирования 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

1 Ответ

0 голосов
/ 05 сентября 2018

Для appium вы можете использовать id , resource-id , cont-desc или xpath для уникальной идентификации элемента. Если вы не видите ни идентификатора, ни идентификатора автоматизации (cont-desc) в элементе приложения, рекомендуется попросить разработчика добавить их в код.

Использование xpath не рекомендуется, но вы можете использовать его, если нет идентификатора или контроля.

pic from http://www.automationtestinghub.com

Теперь вы можете получить доступ к вашему элементу следующим образом.

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')]"));
...