Невозможно найти элементы в appium для автоматического оповещения всплывающего в приложении Android - PullRequest
0 голосов
/ 13 октября 2019

[введите описание изображения здесь] [1] У меня есть приложение, которое показывает всплывающее окно для пользователя, чтобы нажать «Да» или «Нет» в зависимости от того, хотят ли они включить или не включать опцию «Отпечаток пальца». -После аутентификации пароля автоматически появляется всплывающее окно, чтобы спросить пользователя, хотят ли они или не хотят включить FINGERPRINT.

Я попытался найти элементы по их идентификаторам и путям, но ни один из них не работает

driver.findElement(By.id("etEmailAddress")).sendKeys("wa@qa.xyz");
driver.findElement(By.id("btn_continue")).click();
Thread.sleep(5000);
driver.findElement(By.id("etPassword")).sendKeys("PackageX@1");
         driver.findElementByXPath("//android.widget.EditText[@text='Password']").sendKeys("PackageX@1");
driver.findElement(By.id("btn_login")).click();
Thread.sleep(5000);

 ``` //driver.findElement(By.id("app.px.packagex:id/tvNo")).click();
        //driver.findElement(By.id("tvNo")).click();

the last 2 lines above:

    //driver.findElement(By.id("tvYes")).click();
    //driver.findElement(By.id("app.px.packagex:id/tvNo")).click();

I tried using id for both but not working

I want to tap on either of the buttons and then I will be taken into the App where I will be able to see a list of members in the App.

Below is the image in which that pop up appear as auto when CONTINUE button is tapped after providing the password, which asks for Yes or No for FINGERPRINT.:

[enter image description here][1]


  [1]: https://i.stack.imgur.com/M6tIk.jpg

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

Итак, Вакас, вот ваш ответ для понимания высказывания, которое вы использовали. Это неявное ожидание. Так что неявное ожидание, подождите, пока элемент не будет найден. Если элемент найден раньше указанного времени, водитель не ждет больше.

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

В приведенном выше коде драйвер ждет 10 секунд для каждого элемента. Если элемент не найден, он генерирует исключение с именем NoSuchElementException.

С другой стороны, у нас есть явное ожидание . Это ожидание основано на каком-то условии. Он ждет, пока условие не будет выполнено.

0 голосов
/ 13 октября 2019

так что, потратив 2 дня, я смог продолжить этот шаг.

Я просто использовал это, не зная, и это сработало для меня.

driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

Теперь я просто хочу знать, как это работает. Это то, что работает всякий раз, когда через несколько миллисекунд появляется всплывающее окно, а элементы управления продолжают ждать появления экрана / оверлея, где могут располагаться элементы? Просто интересуюсь. Счастлив на данный момент, но я хочу точно знать ... Пожалуйста, руководство, как это работает. Мне еще только предстоит понять, что после добавления строки кода в желаемых возможностях и комментирования выше двух строк доступа она работала без сбоев и не показывала никаких ошибок

...