Элемент мобильного приложения внезапно не может быть найден при автоматическом тестировании. Кто-нибудь еще сталкивался Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Элемент мобильного приложения внезапно не может быть найден при автоматическом тестировании. Кто-нибудь еще сталкивался

Сообщение Anonymous »


Я новичок в Appium. Извините, если этот вопрос уже существует.

Я столкнулся с необычной проблемой при поиске элемента на странице. Мы используем UISelectors для поиска элементов, но элементы на этой странице внезапно невозможно найти с помощью написанного нами автоматического теста. Проблема возникла около месяца назад, до этого тест проходил нормально. Самое смешное: если я вручную меняю страницы в приложении, пока тест ожидает, чтобы увидеть, виден ли элемент (что визуально кажется, но тест не может найти элемент) и возвращаюсь на рассматриваемую страницу , он легко находит элементы на странице.

С тех пор тест, проверяющий эту страницу, терпит неудачу примерно в 95 % случаев, и мы понятия не имеем, почему он продолжает давать сбой. Наш главный разработчик тестов просмотрел код и не смог понять, почему он не работает.

Элементы можно легко найти с помощью Appium Inspector, и они появляются каждый раз, когда мы загружаем страницу:

Инспектор Appium показывает страницу, на которой тест не может найти элементы

Мы пишем наши автоматические тесты на C#, а код для получения элемента пишется следующим образом:

public AppElement SimCardSubHeader => GetBy(UiSelectors.Text, «Информация о SIM-карте»);

Элемент используется для функции WaitUntilVisible. Эта функция используется для проверки того, станет ли элемент видимым через заданное время.

Elements.SimCardSubHeader.WaitUntilVisible(Settings.ExplicitWait, killOnFail: true);

WaitUntilVisible использует IsVisible, где установлены Драйвер и Селектор. Мы используем Appium. Наш главный разработчик тестов также просмотрел весь код и не смог найти никаких ошибок. Все остальные тесты проходят гладко, что соответствует тому, что основной разработчик тестов не смог найти никаких ошибок, а этот, похоже, внезапно провалился. Полученное сообщение об ошибке показывает, что элемент вызван правильно:

WaitUntilVisible — сбой после ожидания 46466 мс с помощью «ByAndroidUIAutomator(new UiSelector().text(»Информация о SIM-карте»))» из-за: время ожидания истекло через 35 секунд.

Если я использую новый UiSelector().text("Информация о SIM-карте") в Appium Inspector для поиска элемента, он работает без сбоев.

Другие тесты, использующие те же функции и способы получения элементов, работают отлично.

Я использовал разные способы вызова элемента, чтобы проверить, сработает ли это:
[*]public AppElement SimCardSubHeader => GetBy(UiSelectors.ResourceId, "sim-40"); [*]public AppElement SimCardSubHeader => GetByXPath("//android.widget.TextView[@text='Информация о SIM-карте']"); [*]public AppElement SimCardSubHeader => GetDescendant(GetById("index-4"), GetDescendant(GetById("app-comComponent-2"), GetDescendant(GetById("app-comComponent-4"), GetBy( UiSelectors.Text, "Информация о SIM-карте"))));
Однако ни одна из них не работала последовательно, и успех не удалось повторить. Если бы я снова переключил страницы, как описано выше, то элемент всегда был бы найден, но если бы я его не трогал, элементы не были бы найдены.

Я подозреваю, что элементы каким-то образом загружаются в течение первых нескольких секунд, а затем «уходят под ковер». Хотя приложение находится в постоянной разработке, я знаю, что на момент возникновения ошибки в приложение не вносилось никаких изменений, и разработчики не могут обнаружить проблему на своей стороне. Кто-нибудь еще сталкивался с этой проблемой? В идеале мы хотим избегать использования асинхронных функций.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»