запуск / управление эмулятором на удаленном сервере - PullRequest
0 голосов
/ 27 января 2019

я знаю, что этот вопрос не подходит для ТАК, но мне больше некуда спросить, надеюсь, я получу ответ до того, как моды закроют этот вопрос!

, поэтому я ежедневно использую пару приложений для Android, и это очень много времени. Я хочу как-то автоматизировать процесс.

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

Я веб-разработчик, работаю с PHP, nodejs, python, не очень знаком с мобильным пространством, поэтому я подумал спросить здесь.

Есть ли какое-нибудь решение, чтобы делать то, что я хочу? Я искал вокруг и нашел Appium , но я не уверен, что он будет делать то, что я хочу.

Обратите внимание, что эти приложения не имеют общедоступного API-интерфейса для меня.

Также у меня есть только удаленный доступ к серверу через «ssh терминал», поэтому решения с зависимостью «GUI» не будут работать для меня.

Ответы [ 3 ]

0 голосов
/ 18 февраля 2019

Я предполагаю, что вы хотите автоматизировать нативные приложения для Android.

Краткий ответ: Appium будет для вас хорошим решением.

На вашем удаленном сервере вам понадобится:

Установив все, вы сможете запускать узлы Appium на своем сервере и запускать на них скрипты Appium.

Я предлагаю использовать CI сервер по выбору для автоматизации этого процесса. Это должно облегчить запуск вашего ssh-терминала через 100% автоматизацию.

Я никогда не использовал Selenium / Appium в python, поэтому я не могу помочь вам с примерами кода тестов Appium, но я уверен, что есть много базовых руководств по python.

0 голосов
/ 19 февраля 2019

Вы должны установить AppiumServer и Android SDK / Simulator на удаленном сервере.Я собираюсь показать, как это можно сделать в Java.Надеюсь, вы сможете преобразовать его в код JavaScript.

Проверьте IP-адрес вашего удаленного сервера, используя ipconfig

Запустите ваш сервер appium на удаленном сервере

>appium -a "ip address of remote server" -p 4732 --session-override

Запустите эмулятор на удаленном сервере.

Определите и инициализируйте DesiredCapabilities и AppiumDriver в своем коде, как показано ниже.

AppiumDriver<MobileElement> driver;
DesiredCapabilities caps= new DesiredCapabilities();
caps.setCapability(MobileCapabilityType.DEVICE_NAME, "android device");
caps.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);
caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 300);
caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "uiautomator2");
caps.setCapability("appPackage", "enter your appPackage");
caps.setCapability("appActivity", "enter your appActivity");

driver= new AndroidDriver<MobileElement>(new URL("remote server ip address" + ":4732/wd/hub"), caps);

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

0 голосов
/ 29 января 2019

Вы можете использовать какой-нибудь эмулятор, например Bluestacks, а затем запустить скрипт для запуска приложений, а затем использовать инструмент макро для эмуляции кликов в играх или приложениях

проверить эту ссылку для инструмента макро в bluestacks: https://www.bluestacks.com/blog/bluestacks-exclusives/combo-key-bluestacks-record-replay-action-single-key-en.html

Или вы можете написать скрипт, который использует команды adb для запуска и управления приложением.

Например.запускать приложения.adb shell am start -n com.android.settings/.Settings эта команда откроет приложение настроек в эмуляторе.

для отправки сенсорных событий вы можете использовать: adb shell input touch <x> <Y>

adb shell input keyevent <keycode> to send keycodes
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...