ПОЛНОЕ РУКОВОДСТВО ПО МОБИЛЬНЫМ АВТОМАТИЗАЦИЯМ (ОТ БАЗОВОГО ДО ПРОДВИНУТОГО)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

псевдокод выглядит так:

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

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

TouchAction touchAction = new TouchAction(driver); touchAction.tap(tapOptions().withElement(element(androidElement))) .perform()

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

Имя метода

Назначение

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

Исходная таблица

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

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

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

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

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

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

Получение местоположения указателя в iOS Получение местоположения указателя в Android
К сожалению, iOS не поддерживает расположение указателя. Без каких-либо других сторонних приложений или инструментов для этой цели, все, что у вас есть, — это вычисление координат x, y с использованием разрешения экрана и предсказания. Перейдите в «Настройки»> «Выберите параметры разработчика»< tr class=”row-3 odd”> Включить расположение указателя.
Чтобы получить координаты, коснитесь местоположения этого места и проверьте его в верхней части экрана.

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

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

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

Интересно известно, что смахивание является результатом сочетания двух разных действий.

Скольжение = нажатие + перемещение

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

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

Псевдокод для пролистывания:

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

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

TAG: qa

От QA genius

Adblock
detector