Appium не может запустить приложение на симуляторе iPhone - PullRequest
0 голосов
/ 24 декабря 2018

Моя цель - провести несколько тестов дыма конца 2 против гибридного приложения, созданного с помощью Cordova.

Я использую Appium (управляемый WebDriver.IO ), и я могу успешно раскрутить в эмуляторе приложение Android и запустить тесты для него.

Я даже не могу запустить приложение iOS на симуляторе iPhone.

WebDriver.IO выдает эту ошибку:

"ОШИБКА: при обработке команды произошла неизвестная ошибка на стороне сервера. Исходная ошибка: Невозможно запустить WebDriverAgent из-за ошибки xcodebuild:Msgstr "Команда 'Scripts / bootstrap.sh -d' завершена с кодом 1". "

И, проверяя журналы симулятора iPhone, я вижу:

"Программа, указанная службой, не содержит никаких допустимых архитектур для этой системы."

Подробнее:

  • Приложение устанавливается и запускается, но сразу падает.Я получаю то же самое с другим демонстрационным приложением для iOS.
  • Приложение корректно запускается при запуске из XCode

Что я делаю не так?

  • Является ли сертификат выдачей ?(Приложение подписано с помощью учетной записи Apple Developer и работает при установке на реальных устройствах) - PS. Нет
  • Нужен ли драйвер для iOS ?(Мне пришлось загрузить определенную версию ChromeDriver для приложения Android, но я не нашел дальнейших инструкций относительно драйвера для iOS) - PS. Нет, он уже был установлен вместе с Appium: /node_modules/appium-xcuitest-driver/WebDriverAgent

ОБНОВЛЕНИЕ - частичный успех:

Мне удалось вручную установить и запустить приложение на устройстве: я заархивировал .appФайл найден в ~/Library/Developer/Xcode/DerivedData/{app name}/Build/ (он правильно собран для систем x86_64 - спасибо @SushiHangover) и запустил его на симуляторе.

Указание wdio.conf.js на новый файл .app.zip теперь корректно устанавливается Appium перед каждым тестовым запуском.(Я могу убедиться, что приложение установлено правильно, потому что я могу нажать на него и запустить его позже.)

Я по-прежнему получаю 1-ю ошибку, хотя перед каждым запуском теста!

vvv

LOGS с ошибкой:

[debug] [XCUITest] The app has been installed successfully.
[debug] [BaseDriver] Event 'appInstalled' logged at 1545635044697 (02:04:04 GMT-0500 (Eastern Standard Time))
[XCUITest] Using WDA path: '/Users/MY_USER_NAME/Documents/CODE/ACTIVE/APPIUM/asialgearoid/mine2/node_modules/appium-xcuitest-driver/WebDriverAgent'
[XCUITest] Using WDA agent: '/Users/MY_USER_NAME/Documents/CODE/ACTIVE/APPIUM/asialgearoid/mine2/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj'
[debug] [XCUITest] No obsolete cached processes from previous WDA sessions listening on port 8100 have been found
[debug] [JSONWP Proxy] Matched '/status' to command name 'getStatus'
[debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8100/status] with no body
[JSONWP Proxy] Got an unexpected response: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"127.0.0.1","port":8100}
[debug] [XCUITest] WDA is not listening at 'http://localhost:8100/'
[debug] [XCUITest] WDA is currently not running. There is nothing to cache
[debug] [XCUITest] Trying to start WebDriverAgent 2 times with 10000ms interval
[debug] [BaseDriver] Event 'wdaStartAttempted' logged at 1545635044905 (02:04:04 GMT-0500 (Eastern Standard Time))
[XCUITest] Launching WebDriverAgent on the device
[debug] [XCUITest] Carthage found: '/Users/MY_USER_NAME/Documents/CODE/ACTIVE/APPIUM/asialgearoid/mine2/node_modules/.bin/carthage'
[debug] [XCUITest] Running WebDriverAgent bootstrap script to install dependencies
[XCUITest] [1mFetching dependencies
[XCUITest] Error: Command "bootstrap" does not exist.
...
[debug] [BaseDriver] Event 'wdaStartFailed' logged at 1545635057640 (02:04:17 GMT-0500 (Eastern Standard Time))
[debug] [XCUITest] Unable to launch WebDriverAgent because of xcodebuild failure: "Command 'Scripts/bootstrap.sh -d' exited with code 1".


После дальнейшего копания я выяснил, как воспроизвести ошибку:

$ cd /myTestingProject/node_modules/appium-xcuitest-driver/WebDriverAgent
$ ./Scripts/bootstrap.sh

Вывод:

Выборка зависимостей Ошибка: команда "bootstrap" не существует.


Все еще не решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...