Рубрики
Без рубрики

Как использовать Genymotion, Appium и Applitools для визуального тестирования приложений Android

Если вы хотите запускать мобильные приложения, вы хотите работать на Android. Android-устройства доминируют в умных… С пометкой android, тестирование, java, учебник.

Если вы хотите запускать мобильные приложения, вы хотите работать на Android. Устройства Android доминируют на рынке смартфонов. Genymotion позволяет параллельно запускать тесты Appium на различных виртуальных устройствах Android. Applitools позволяет быстро проверять, как каждое устройство отображает каждый тест Appium. Вместе Genymotion и Applitools обеспечивают быстрое покрытие для ваших функциональных и визуальных тестов.

Как специалист по автоматизации контроля качества, вы знаете, что вам нужно тестировать на Android. Затем вы смотрите на рынок и понимаете, насколько он фрагментирован.

Насколько фрагментирован Android?

Фрагментированный – это еще мягко сказано. В исследовании, проведенном OpenSignal, было измерено более 24 000 уникальных моделей используемых устройств Android, работающих под управлением девяти различных версий ОС Android с более чем тремя десятками экранов разных размеров, изготовленных 1294 различными производителями устройств. Это и есть фрагментация. Эти цифры ошеломляют, поэтому вот диаграмма для объяснения. Каждое поле представляет долю использования одной модели телефона.

Множество других исследований подтверждают это. Существует 19 основных поставщиков устройств Android . Ведущими производителями являются Samsung, Huawei, OnePlus, Xiaomi и Google. Рыночная доля ведущего Android-устройства составляет менее 2% рынка , а рыночная доля 10 лучших устройств составляет 11%. Самый популярный Версия Android составляет всего 31% рынка .

Нам всем хотелось бы думать, что устройства Android ведут себя точно так же. Но никто не знает наверняка без тестирования. Если вы проверите Отслеживание проблем Google , вы обнаружите ряд проблем, которые в конечном итоге зависят от платформы.

Последствия для охвата тестированием Android

Итак, если каждое устройство Android может вести себя по-разному, как именно вы должны тестировать свои приложения для Android? Один из способов – функционально запустить тест на каждой платформе и измерить поведение в коде – это дорого. Другой способ – функционально работать на одной платформе и надеяться, что код будет работать на других. Функционально это может сказать вам, что приложение работает, но вы остаетесь уязвимыми для поведения, зависящего от конкретного устройства, которое может быть неочевидным без тестирования.

Чтобы наглядно представить себе задачу тестирования на 24 000 уникальных платформах, представьте, что в вашем приложении всего 10 экранов. Если бы вы разместили эти десять разных экранов на 24 000 уникальных устройствах от начала до конца, они растянулись бы более чем на 30 миль. Это больше, чем дистанция марафона!

Можете ли вы представить себе ручную проверку экранов марафона с каждым выпуском?

Я не могу пробежать марафон, не говоря уже о том, чтобы изучать тысячи экранов. К счастью, есть лучший способ, который я объясню ниже: использование Генимоция , Appium и Applitools .

Что такое Genymotion?

Genymotion является ведущим поставщиком облачных решений для эмуляции Android и виртуальной мобильной инфраструктуры . Genymotion освобождает вас от необходимости создавать собственную ферму устройств Android.

Как только вы интегрируете свои тесты Appium с Genymotion Cloud , вы сможете запускать их параллельно на многих устройствах Android одновременно, чтобы как можно скорее обнаруживать ошибки и тратить меньше времени на тестовые прогоны. Это очень мощно.

С помощью Genymotion Cloud вы можете протестировать только самые популярные комбинации устройств и ОС Android. Или же вы можете подробно протестировать комбинации для конкретного поставщика платформы. Genymotion дает вам гибкость для запуска любой комбинации андроидов, которая вам нужна.

Зачем использовать Genymotion Cloud и Applitools?

Genymotion Cloud может запускать функциональные тесты вашего Android на нескольких платформах. Однако функциональные тесты являются подмножеством проблем с устройством и версией операционной системы, с которыми вы можете столкнуться в своем приложении. В дополнение к функциональным тестам. вы можете столкнуться с визуальными проблемами, которые влияют как на внешний вид вашего приложения, так и на то, как оно работает. Как вы проводите визуальные тесты пользовательского интерфейса с помощью Genymotion Cloud? Прикладные инструменты.

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

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

Вы можете найти множество других примеров визуальных регрессий, следуя #GUIGoneWrong в Твиттере .

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

Как использовать Genymotion, Appium и Applitools?

Applitools уже работает с Appium для обеспечения визуального тестирования ваших приложений для ОС Android. Теперь вы можете использовать Applitools и Genymotion для выполнения визуальных тестов на многочисленных виртуальных устройствах Android. Подводить итоги:

  • Напишите свои тесты в Appium, используя Applitools SDK для захвата визуальных изображений.
  • Запустите облачные устройства Genymotion с помощью командной строки.
  • Ваши скрипты Appium будут выполнять визуальные тесты на виртуальных устройствах Genymotion.

Вот и весь обзор. Чтобы углубиться в детали, ознакомьтесь с этим пошаговым руководством на GitHub , демонстрирующим интеграцию Applitools и Genymotion Cloud с использованием Java/TestNG.

Хотя он довольно полный, вот некоторая дополнительная информация, которая вам понадобится:

  • Скачать и установить Python 3
  • Затем установите pip3 на Windows или macOS
  • Наконец, убедитесь, что вы установили Android SDK

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

Genymotion, Appium и Applitools: Лучше Вместе

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

Оригинал: “https://dev.to/michaelvisualai/how-to-use-genymotion-appium-applitools-to-visually-test-android-apps-1hkg”