Идентификатор не найден в Appium и Java - PullRequest
0 голосов
/ 14 июня 2019

Идентификатор "username" найден при компиляции на Galaxy J2 Prime, но тот же компилятор на Galaxy S6 не нашел id "username". Ответ консоли:

* [debug] [35m [AndroidBootstrap] [39m Отправка команды на android: {"cmd": "action", "action": "find", "params": {"стратегии": "id", " селектор ":" Имя пользователя», "контекст": "", "несколько" ложь}} [debug] [35m [AndroidBootstrap] [39m [LOG BOOTSTRAP] [debug] Получены данные от клиента: {"cmd": "action", "action": "find", "params": {"стратегии": "id », "селектор": "Имя пользователя", "контекст": "", "несколько" ложь}} [debug] [35m [AndroidBootstrap] [39m [BOOTSTRAP LOG] [debug] Получил команду типа ACTION [debug] [35m [AndroidBootstrap] [39m [BOOTSTRAP LOG] [debug] Получил действие команды: найти [отладка] [35м [AndroidBootstrap] [39м [ЖУРНАЛ BOOTSTRAP] [отладка] Поиск «имени пользователя» с использованием «ИД» с contextId: «« множественный: ложный [debug] [35m [AndroidBootstrap] [39m [LOG BOOTSTRAP] [debug] Использование: UiSelector [INSTANCE = 0, RESOURCE_ID = com.vtrapp.ventas: id / username] [debug] [35m [AndroidBootstrap] [39m [LOG BOOTSTRAP] [debug] Использование: UiSelector [INSTANCE = 0, RESOURCE_ID = android: id / username] [debug] [35m [AndroidBootstrap] [39m [LOG BOOTSTRAP] [debug] Использование: UiSelector [INSTANCE = 0, RESOURCE_ID = имя пользователя] [debug] [35m [AndroidBootstrap] [39m [LOG BOOTSTRAP] [debug] Использование: UiSelector [ОПИСАНИЕ = имя пользователя, INSTANCE = 0] [debug] [35m [AndroidBootstrap] [39m [BOOTSTRAP LOG] [debug] Не удалось найти элемент. Очистка кеша доступности и повторная попытка. [отладка] [35м [AndroidBootstrap] [39м [ЖУРНАЛ BOOTSTRAP] [отладка] Поиск «имени пользователя» с использованием «ИД» с contextId: «« множественный: ложный [debug] [35m [AndroidBootstrap] [39m [LOG BOOTSTRAP] [debug] Использование: UiSelector [INSTANCE = 0, RESOURCE_ID = com.vtrapp.ventas: id / username] [debug] [35m [AndroidBootstrap] [39m [LOG BOOTSTRAP] [debug] Использование: UiSelector [INSTANCE = 0, RESOURCE_ID = android: id / username] [debug] [35m [AndroidBootstrap] [39m [LOG BOOTSTRAP] [debug] Использование: UiSelector [INSTANCE = 0, RESOURCE_ID = имя пользователя] [debug] [35m [AndroidBootstrap] [39m [LOG BOOTSTRAP] [debug] Использование: UiSelector [ОПИСАНИЕ = имя пользователя, INSTANCE = 0] [debug] [35m [AndroidBootstrap] [39m [BOOTSTRAP LOG] [debug] Возвращаемый результат: {"status": 7, "value": "Элемент не найден"} [debug] [35m [AndroidBootstrap] [39m Полученный результат команды от начальной загрузки [отладка] [35м [MJSONWP] [39м. Код ошибки JSONWP 7 сопоставлен с NoSuchElementError [debug] [35m [W3C (2f6e58e6)] [39m Обнаружена внутренняя ошибка при выполнении команды: NoSuchElementError: Не удалось найти элемент на странице с использованием заданных параметров поиска. [debug] [35м [W3C (2f6e58e6)] [39м в AndroidDriver.findElOrEls (C: \ Users \ Haibu15 \ AppData \ Local \ Programs \ Appium \ resources \ app \ node_modules \ appium \ node_modules \ appium-android-driver \ lib \ \ команды find.js: 75: 11) [35м [HTTP] [39м [37м <- POST / wd / hub / session / 2f6e58e6-f3db-4d75-bace-39f457fbc1b3 / element [39м [33м404 [39м [90м21577 мс - 436] [39м] [35 м [HTTP] [39 м [90 м [39 м </p>]

Исключение в потоке "main" org.openqa.selenium.NoSuchElementException: элемент не может быть найден на странице с использованием заданных параметров поиска. Для документации об этой ошибке, пожалуйста, посетите: https://www.seleniumhq.org/exceptions/no_such_element.html Информация о сборке: версия: '3.141.59', редакция: 'e82be7d358', время: '2018-11-14T08: 17: 03' Системная информация: хост: 'DESKTOP-4E9I01S', ip: '169.254.4.145', имя os.name: 'Windows 10', файл os.arch: 'amd64', версия os.version: '10 .0 ', версия java.version:' 1.8 .0_201' Информация о драйвере: io.appium.java_client.android.AndroidDriver *

И код:

public class StartAppVentas {

public static void main(String[] args) {

    AppiumDriverLocalService service = AppiumDriverLocalService.buildService( new AppiumServiceBuilder()
            .usingDriverExecutable(new File("C:\\Program Files\\nodejs\\node.exe"))
            .withAppiumJS(new File(
            "C:\\Users\\Haibu15\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\build\\lib\\main.js")));


    service.start();

    //Set the Desired Capabilities
    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability("deviceName", "Galaxy S6");
    //caps.setCapability("udid", "420039359b4f2433"); //Device ID Galaxy J2 Prime 
    caps.setCapability("udid", "1015fa58982f0503"); //Device ID Galaxy S6
    caps.setCapability("platformName", "Android");
    caps.setCapability("platformVersion", "7.0");
    caps.setCapability("appPackage", "com.vtrapp.ventas");
    caps.setCapability("appActivity", "com.vtrapp.ventas.MainActivity");
    caps.setCapability("noReset", "true");

    //Instantiate Appium Driver
    try {
            AndroidDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            driver.findElement(By.id("username")).sendKeys("isalinass");
            driver.findElement(By.id("contraseña")).sendKeys("Nacho0");
            driver.findElement(By.id("recordarme")).click();
            driver.findElement(By.id("recordarme")).click();
            driver.findElement(By.id("ingresar")).click();
            //driver.pressKey(new KeyEvent(AndroidKey.));

    } catch (MalformedURLException e) {
        System.out.println(e.getMessage());
    }

    service.stop();

}

}

Примечание: я использовал «uiautomatorviewer.bat» для проверки идентификатора элементов, и это правильно, и приложение правильно открывается на телефоне, но идентификатор «имя пользователя» не найден.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...