Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Сканирование QR кода на мобильном девайсе в автотестах (Appium)

java
appium
testng
Теги: #<Tag:0x00007fedc1021b90> #<Tag:0x00007fedc1021910> #<Tag:0x00007fedc1021758>

(Nataliya) #1

Здравствуйте,

На проекте есть необходимость автоматизировать функционал по сканированию QR кода.

Пошагово:

  1. Нажатие кнопки “Scan”
    Приложение камеры открывается
  2. Сканирование QR -кода
  3. Значение из QR -кода вставляется в инпут

Приложение: мобильная гибридная аппликация
Тестирование реализовано через Appium (java)
Девайс: iOS (11.2.6), iPad

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


(Богдан Ткаченко) #2

Т.е. пока будет выполнятся код, ты должна будешь держать телефон, чтобы он считал QR код. А не легче считывание проверять руками, а вместо кода использовать заглушку для автоматизации? Так будет намного быстрее.


(Nataliya) #3

Я больше представляла этот процесс следующим образом:
сам QR код сохранить, как png-файл (или любой другой) и программно подставлять файл для считывания камерой (если такое вообще возможно:slightly_smiling_face:)

Как временное решение пока вижу только

  • проверку того, что камера открывается после нажатия необходимой кнопки
  • и отдельное распарсивание уже сохраненного файла с QR кодом посредством таких библиотек, как com.google.zxing и последующим сеттанием значения в инпут

Просто хотелось бы это сделать одним процессом и сетать значение кода посредством камеры, а не сторонней либы…:slight_smile:


(Богдан Ткаченко) #4

Т.е. если я правильно понял:

  1. Ты проверяешь открытие камеры и все.
  2. Ты просто парсишь картинку, а не изображение с камеры напрямую и потом подставить значение с нее в инпут?

Так легче сделать как я описал выше, чем делать как ты.

  1. Ты просто открываешь камеру и все, ты не тестируешь получения кода с картинки на которой изображен QR код.
  2. Зачем парсить картинку, если можно сразу взять код и пусть себе тесты идут дальше.
  3. Когда приложение будут использовать пользователи они же не будут подставлять картинку программно под камеру.

(Михайло Мiкусь) #5

В нас на проекті таку задачу реалізували наступним чином:

  1. написати генератор відеофайлів (відео складається з рухомої картинки QR коду)
  2. створили сервіс на localhost який стрімить відео (в цьому сервісі з коду підставляємо в рантаймі потрібну нам картинку-відео)
  3. Натравили віртуальну веб камеру на наш сервіс (ManyCam платна версія)
    більше деталей тут:
    https://stackoverflow.com/questions/48789078/how-to-make-virtual-video-port-direct-it-to-avd-emulator-and-play-video-file-on