Элемент не может быть расположен на странице при заданных параметрах поиска (Appium 1.13.0)

Я работаю над приложением "Автоматизация для Android". При запуске скрипта Appium не может найти элементы. Я пробовал использовать Id, Xpath. Пожалуйста, помогите мне с этим...

Версия Android: 5.1.1 и 9 Версия Appium: 1.13.0 Проект Maven

@Test
public void login() {
    driver.findElement(By.xpath("//com.vehito.vehitoplus[contains(@resource-id,'phone')]")).sendKeys("9632642105");
driver.findElement(By.id("com.vehito.vehitoplus:id/sign_in_button")).click();
}

Фактический результат: обнаружена внутренняя ошибка при выполнении команды: NoSuchElementError: элемент не может быть расположен на странице с использованием заданных параметров поиска


person Gireesh05    schedule 30.08.2019    source источник


Ответы (2)


Эта ошибка говорит о том, что UIAutomator не может найти этот элемент.

Я обнаружил 2 проблемы с вашим кодом Xpath:

1- Замените , на = после resource-id.

2- Вы используете packageName (com.vehito.vehitoplus) вместо имени класса.

Вы можете найти точное имя класса элемента с помощью UIAutomator Viewer:

(Android SDK Dir)\tools\bin\uiautomatorviewer.bat

Я имею в виду, что вы можете использовать это: (Если имя класса элемента будет: android.widget.EditText)

        driver.findElement(By.xpath("//android.widget.EditText[contains(@resource-id='phone')]")).sendKeys("9632642105");

По своему опыту я обнаружил, что библиотека By. (XPath или ID) плохо работает с @contains. Так что лучше использовать точные атрибуты.

e.g.

        driver.findElement(By.id("com.vehito.vehitoplus:id/sign_in_button")).sendKeys("9632642105");

Надеюсь, это поможет. Если нет, предоставьте снимок экрана со страницы, а также снимок экрана средства просмотра UIAutomator этого элемента ввода.

person Mohammad Monfared    schedule 03.09.2019

org.openqa.selenium.NoSuchElementException: элемент не может быть обнаружен на странице с использованием заданных параметров поиска. Для документации по этой ошибке посетите: https://www.seleniumhq.org/exceptions/no_such_element.html Информация о сборке: версия: '3.141.59', ревизия: 'e82be7d358', время: '2018-11-14T08: 25: 53' Информация о драйвере: io.appium.java_client.android.AndroidDriver Capabilities { app: C: \ Selenium \ workspace \ Ninja ..., appPackage: com.ninjafocus.app, appactivity: com.ninjafocus.app.base.vie ..., databaseEnabled: false, желаемый: {app: C: \ Selenium \ workspace \ Ninja ..., appPackage: com.ninjafocus.app, appactivity: com.ninjafocus.app.base.vie ..., deviceName: Nokia 6, newCommandTimeout: 60, platformName: android, platformVersion: 9, udid: PLEGAR1780410318}, deviceApiLevel: 28, набор по умолчанию

    driver.findElementById("\r\n" + "com.ninjafocus.app:id/signinButton").click();
    driver.findElementById("\r\n" + "com.ninjafocus.app:id/parentEmailText").sendKeys("[email protected]");
    driver.findElementById("\r\n" + "com.ninjafocus.app:id/parentPasswordText").sendKeys("1234");
    driver.findElementById("\r\n" +"com.ninjafocus.app:id/startedButton").click();
person pooja yadav    schedule 13.07.2020