Nano Hash - криптовалюты, майнинг, программирование

Диалоговое окно оповещения об обнаружении Appium

Я пишу тестовый скрипт пользовательского интерфейса на Python, после выполнения щелчка может появиться всплывающее окно с предупреждением. Если это так, мне нужно нажать кнопку в этом окне. Интересно, есть ли способ обнаружить диалоговые окна предупреждений в Appium API? Спасибо.

введите здесь описание изображения

18.09.2015

  • пожалуйста, поделитесь этим диалоговым окном с локаторами для этой страницы. Только тогда я могу что-то сказать 18.09.2015
  • @Gaurav Я только что добавил снимок экрана. Дайте мне знать, если это тот, который вы хотите. Большое спасибо. 18.09.2015
  • Похоже, что для кнопки «Да» и «Нет» нет локатора. Можете ли вы попытаться использовать UIAutomator, чтобы найти локаторы для этого диалогового окна? 21.09.2015
  • @Gaurav Да, я могу их найти. Я просто не показал их на картинке. 22.09.2015
  • большой!! теперь вы можете выполнять любые действия, используя эти локаторы. 22.09.2015

Ответы:


1

простой и лучший способ сделать через возможности

capabilities.setCapability("autoAcceptAlerts",true);

Это будет принимать только оповещения из вашего приложения, а не системные оповещения.

09.11.2015

2

Поместите указатель на кнопку Да, Нет, вы получите идентификаторы тех, у кого есть отдельные идентификаторы. Затем используйте

self.driver.find_element_by_id('id of the button').click()

Если у них нет идентификатора, используйте

self.driver.find_element_by_name('OK').click()
21.09.2015

3

Я думаю, что это немного не связано с вопросом, но я надеюсь, что это даст вам ключ.

Вы можете использовать XPATH, чтобы найти элемент. ну, этот подход действительно не рекомендуется. Но это может быть полезно, если у элемента нет идентификатора, имени доступности, имени или метки. где информация только класса и стоимости.

например, вы можете сделать что-то вроде этого: //android.widget.Button[contains(@text,'OK')]

Я не уверен в имени класса для диалога предупреждений на Android. Но это мой подход, когда я сталкиваюсь с какой-либо проблемой автоматизации iOS, например, в моем приложении есть настраиваемое оповещение с 3 кнопками (все они настроены), кнопкой «Открыть», «Закрыть» и «Отчет»:

//UIAAlert[*]//UIAButton[@name='Report']

Вы можете использовать тот же подход, чтобы найти любой элемент, который не может быть найден при обычном подходе.

20.11.2015
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..