Выставление fake location с помощью appium'а

appium
Теги: #<Tag:0x00007fedc0075f70>

(Елена Перфильева) #1

Добрый день!

Может сталкивался кто-нибудь с выставлением фэйковых координат средствами appium’а.
Тестирую на реальном android устройстве, тесты пишу на python.

Гугл подсказывает, что выставление координат работает только для эмулятора и кажется, что на java. Почему так не совсем понятно.


(Константин) #2

А заюзать для этого стороннее приложение?
Вот например статейка


(Dmitry Cheremushkin) #3

Встроенными средствами Appium — в данный момент невозможно.

На устройствах вне приложений — невозможно (ограничение платформы).

Возможно только в эмуляторах (Android SDK / Genymotion).


Из своего опыта:

  • на устройствах проверяли руками;
  • автоматизировали тестирование геолокации только на эмуляторе
  • была написана функция, которая определяет тип эмулятора и выставляет локацию

  • для Android SDK — через adb shell geo fix <longitude> <latitude>
  • для Genymotion — через последовательность команд
    genyshell -r <ip_address> -c 'gps setstatus enabled'
    genyshell -r <ip_address> -c 'gps setlongitude <longitude>'
    genyshell -r <ip_address> -c 'gps setlatitude <latitude>'

(Елена Перфильева) #4

Когда руками тестирую, как раз стороннее приложение использую.
Я правильно поняла, что вы предлагаете для выставления местоположения тестами по кнопкам стороннего приложения тыкать?


(Елена Перфильева) #5

Благодарю за подробные разъяснения.


(Константин) #6

Я к сожалению не вижу других способов, если вам не подходит тестирование руками или на эмуляторе


(Dmitry Cheremushkin) #7

Нет, не правильно. То что выше — это изменение внутренних системных параметров, отвечающих за GPS-координаты. Но такое работает только для эмулятора.


(Dmitry Cheremushkin) #8

Из сторонних приложений — рекомендую посмотреть на Lockito.

Оно эмулирует не только статику, но и динамику (эмулирует движение телефона в пространстве).


(Константин) #9

И что мешает в этом стороннем приложении с помощью Appium выставить нужные настройки?

А вообще попался на глаза коммит для библиотеки .Net, где добавлен set location
appium-dotnet-driver commit

Правда не пробовал как оно работает и работает ли вообще


(Елена Перфильева) #10

Борюсь за стабильность, лишнее тыканье по кнопкам часто приводит к лишним падениям.


(Dmitry Cheremushkin) #11

Не спорю, исключительно на Android — ничего.