У нас есть тесты пользовательского интерфейса, которые Дженкинс запускает с помощью Appium, но это приводит к ошибке:
remote stacktrace: UnknownError: An unknown server-side error occurred
while processing the command. Original error: Error getting AVD with
retry. Original error: Condition unmet after 60063 ms. Timing out.
И процесс emulator
не найден, когда задача AppiumБег.Также вывод Appium говорит:
[debug] [ADB] Emulator Nexus_5X_API_26 not running
[debug] [ADB] Trying to find Nexus_5X_API_26 emulator
[debug] [ADB] Getting connected emulators
[debug] [ADB] Getting connected devices...
[debug] [ADB] 0 device(s) connected
[debug] [ADB] 0 emulator(s) connected
ОК, я вижу, что устройство не было запущено, и это является причиной ошибки «Timeout».
Но почему Appiumя не могу его запустить?
Я могу получить исполняемый файл emulator
, и задание Дженкина, запускающее задачу Appium, может видеть устройство:
[Pipeline] sh
+ avdmanager list avd
...
Name: Nexus_5X_API_26
Device: Nexus 5X (Google)
Path: /home/user/.android/avd/Nexus_5X_API_26.avd
Target: Google Play (Google Inc.)
Based on: Android 8.0 (Oreo) Tag/ABI: google_apis_playstore/x86
Skin: 1080x1920
Sdcard: 100 MB
---------
Name: test
Path: /home/user/.android/avd/test.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.1.1 (Nougat) Tag/ABI: google_apis/x86
[Pipeline] sh
+ emulator -list-avds
Nexus_5X_API_26
test
Если я запускаю устройство вручную, просто запустив:
/android/Android/sdk/emulator/emulator -avd Nexus_5X_API_26
и после этого запускаю работу Дженкина - у меня есть другая ошибка:
...
[ADB] Using adb from /android/Android/sdk/platform-tools/adb
[debug] [ADB] Trying to find Nexus_5X_API_26 emulator
[debug] [ADB] Getting connected emulators
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] 1 emulator(s) connected
[debug] [ADB] Sending telnet command to device: avd name
[debug] [ADB] Getting running emulator port
[debug] [ADB] Socket connection to device created
[debug] [UiAutomator2] Deleting UiAutomator2 session
[debug] [BaseDriver] Event 'newSessionStarted' logged at 1542807589908 (15:39:49 GMT+0200 (EET))
[debug] [W3C] Encountered internal error running command: Error: Error getting AVD. Original error: Never got a response from command
[debug] [W3C] at ADB.callee$0$0$ (/usr/local/lib/node_modules/appium/node_modules/appium-adb/lib/tools/system-calls.js:488:11)
...
Любойидеи?
Не могу что-нибудь гуглить с помощью приложения "". Никогда не получал ответ от команды"на запрос ...
Кроме того, я не могу воспроизвестиэта проблема на ноутбуке моей рабочей станции - все работает просто отлично.
UPD Свойства:
<profile>
<id>linux-emulator-8.0</id>
<properties>
<hub.url>http://0.0.0.0:4723/wd/hub</hub.url>
<device.name>Android Emulator</device.name>
<avd>Nexus_5X_API_26</avd>
<platform.name>Android</platform.name>
<platform.version>8.0</platform.version>
<auto.grant.permissions>true</auto.grant.permissions>
<full.reset>true</full.reset>
<no.reset>false</no.reset>
<app.path>/home/user/project/project.apk</app.path>
<app.name>com.gen.workoutme</app.name>
<screenshot.path>
${project.basedir}/../screenShots/${platform.name}/${platform.version}/${device.name}/
</screenshot.path>
<automation.name>UiAutomator2</automation.name>
</properties>
</profile>
UPD 2 Не знаю как - ноне работает, если запустить emulator
вручную.Но все же есть проблема с запуском emulator
из самого Appium.
Обнаружил странную ошибку в своем журнале:
[ADB] [AVD OUTPUT] Fatal: QXcbConnection: Could not connect to display ((null):0, (null))
[ADB] [AVD OUTPUT] INFO: QtLogger.cpp:66: Fatal: QXcbConnection: Could not connect to display ((null):0, (null))
[ADB] Emulator avd Nexus_5X_API_26 exited with code null, signal SIGABRT
Не могу Googleпо причине пока что но похоже на главную проблему - что-то с подключением к $DISPLAY
, хотя оно присутствует.