atesting.ru Блог Полное руководство по жестам мобильной автоматизации (от основ до продвинутого)

Полное руководство по жестам мобильной автоматизации (от основ до продвинутого)

В предыдущей статье этой серии руководств по Appium мы видели Как написать первый скрипт Appium. Теперь в этой статье мы увидим Жесты мобильной автоматизации.

Всегда интересно узнать, что еще можно сделать с помощью такого инструмента, как Appium.

У тестирования мобильных приложений есть свои проблемы и плюсы, но более информативным является расширенный набор жестов автоматизации, который может быть реализован вместе с его использованием для выполнения обычного тестирования и покрытия.

Некоторые из таких сложных Задачи мобильной автоматизации, которые можно выполнить с помощью Appium, заключаются в следующем:

Аутентификация в приложении

Из-за большого количества нарушений безопасности, о которых мы слышим изо дня в день, разработчикам приложений стало настоятельно необходимо обеспечить высокую степень защиты мобильного приложения.

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

Но можем ли мы автоматизировать также аутентификацию в приложении?

Что ж, недавно в Appium появилась функция, которая позволяет выполнять аутентификацию в приложении на симуляторах iOS с использованием Face ID. Это является дополнением к более старым тестам аутентификации, таким как аутентификация Touch ID на старых устройствах iOS.

Хотя FaceID в настоящее время поддерживает только симуляторы iOS, а не реальные устройства, а также имеет некоторые недостатки, такие как следующие операций, это все еще может в некоторой степени упростить процесс.

Операции, которые можно обрабатывать, следующие:

  • Аналогично сканированию лица во время настройки устройства
  • Обнаружение совпадения лица.
  • Определение несовпадения лица.

Пользовательские API и API событий

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

Чтобы решить эту проблему, можно использовать Appium Events API , который имеет встроенные события, называемые серверными событиями.

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

Потоковая передача между устройствами

Как бы это было, если бы мы могли транслировать приложение в браузеры?

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

Управление приложением и устройством

Когда мы говорим об управлении приложением и устройством, мы здесь говорим о том, как автоматизировать системные приложения, такие как встроенные приложения, установить, удалить или запустить их. Это особенно необходимо, и Appium помогает в этом.

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

< h3> Создание объектной модели страницы

Точно так же, как использование дизайна объектной модели страницы, которое значительно завоевало область автоматизации тестирования, мы видим аналогичную тенденцию и в области автоматизации мобильных приложений. Создание и реализация дизайна объектной модели страницы очень помогает, поскольку тем самым мы отделяем бизнес-логику от наших тестовых примеров. Это приводит к большей гибкости и обеспечивает ясность для набора автоматизации тестирования.

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

Создание расширенных отчетов

Добавление расширенных отчетов в проекты Appium Java приведет только к еще большей производительности всей процедуры тестирования. В конце концов, когда начинается выполнение теста, одна вещь, которая действительно интересует всех, — это конечный результат выполнения тестов. Вот здесь-то и появляются отчеты Extend, и они, по сути, играют важную роль. Используя Appium, мы можем легко интегрировать то же самое с Extend Report.

В сочетании с практиками CI/CD

Appium также помогает в настройке непрерывной интеграции в тесте, что помогает нам автоматизировать развертывание и настройку тестового приложения, создавать выполнение теста, которое запускает конвейер CI, а в дальнейшем также помогает анализировать результат теста и получать ценные отзывы.

Жесты мобильной автоматизации

В дополнение к вышеупомянутым возможностям appium, он также поддерживает следующие жесты продвижения:

    < li> Для нажатия на элемент.
  • Для нажатия на координаты x, y.
  • Для нажатия на элемент в течение определенного времени.
  • Для нажатия координат x, y в течение определенного времени.
  • Чтобы провести горизонтальное движение: используя начальный и конечный процент высоты и ширины экрана.
  • Для вертикального смахивания
  • Для смахивания двумя/несколькими пальцами
  • Для перетаскивания (смахивания) одного элемента на другой элемент

< p>Вышеупомянутые жесты широко используются в сценариях повседневного тестирования автоматизации, и их выполнение и приложение поддерживают эти жесты с помощью класса TouchActions.

Псевдокод выглядит следующим образом:

TouchAction touchAction = new TouchAction (драйвер);

Псевдокод для нажатия на элемент выглядит следующим образом:

TouchAction touchAction = new TouchAction (драйвер); touchAction.tap (tapOptions (). withElement (element (androidElement))) .perform ()

Вот некоторые из поддерживаемых методов:

Название метода Цель
нажмите (PointOption pressOptions) Нажмите действие на экране.
longPress (LongPressOptions longPressOptions) Нажмите и удерживайте в центре элемента, пока не сработает событие контекстного меню.
коснитесь (PointOption tapOptions) Нажмите на позицию.
moveTo (PointOption moveToOptions) Перемещает текущее касание в новую позицию.
cancel () Перемещает текущее касание в новую позицию.
perform () Выполняет эту цепочку действий над PerformTouchActions.

Источник таблицы

Перед тем, как перейти к любому из следующих жестов касания элемента, например, касание элемента, нажатие на координаты x, y, нажатие элемента на определенное время, нажатие x, y координаты на определенный период времени, вам следует избегать некоторых вещей.

1. Поймите значение метода perform ()

Нам нужно уделить особое внимание методу perform (), потому что, если этот метод не будет вызван, ваши тестовые сценарии могут вообще не работать. Более того, потому что всякий раз, когда вызывается метод, он используется для отправки всех действий и инструкций, преобразованных в JSON, на сервер appium’s. Сказав это, мы можем сделать вывод, что для любого кода жестов в мобильной автоматизации через appium вызываемый метод lats будет выполнять ().

2. Как получить координаты x, y

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

Чтобы найти координаты x, y, существуют разные подходы в зависимости от ОС вашего мобильного приложения.

< tr class = "row-1 odd">

Получение местоположения указателя в iOS Получение местоположения указателя в Android
К сожалению, iOS не поддерживает расположение указателя. Без других сторонних приложений или инструментов для этой цели все, что у вас есть под рукой, — это вычислить координаты x, y с использованием разрешения экрана и прогнозирования. Перейдите в настройки & gt; Выберите параметры разработчика
Включить указатель местоположение.
Чтобы получить координаты, нажмите на местоположение этого места и проверьте вверху экрана.

Псевдокод для нажмите на координаты x, y как:

TouchAction touchAction = новый TouchAction (драйвер); touchAction.tap (PointOption.point (1280, 1013)). perform ();

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

Интересно знать, что смахивание — это результат комбинации двух разных действий.

Смахивание = нажатие + перемещение

Чтобы понять шаги в простые шаги:

  1. Сначала нажмите на конкретную точку — & gt;
  2. Подождите (продолжительность смахивания) — & gt;
  3. Переместить в (moveTo ( )) конкретное местоположение- & gt;
  4. Вызов метода release ()

Псевдокод для смахивания выглядит следующим образом:

TouchAction swipe = new TouchAction (драйвер)
.press (PointOption.point (972,500)). WaitAction (waitOptions (ofMillis (800))). MoveTo (PointOption.point (108,500))
.release (). perform ();

Чтобы изучить каждый из жестов расширенной автоматизации, обратитесь к специальному руководству, которое будет скоро.

TAG: qa