Всем привет
Ребята, сейчас на проекте разбираюсь с автоматизацией мобильных приложений, и немного застряла
Есть уже готовый проект, я пытаюсь запустить тесты на с iPhone-е, но, увы, никак.
Каждый раз получаю новые ошибки, и, как я подозреваю, ето связано с запуском WebDriverAgent.
Основние технологии:
Последние версии Appium (1.16.0 - Desktop, и - 1.15.1 - npm), Serenity BDD, Java, jUnit
Девайсы:
iPhone 6, OS:12.4.2, xCode: 11.2.1, OSX: 10.14.6
Так как проект уже существующий, я с нуля не писала, то некоторые capabilities уже были прописаны, но настраивала я WebDriverAgent сама, смотря пример здесь appium-xcuitest-driver/real-device-config.md at master · appium/appium-xcuitest-driver · GitHub
Итак, проблема заключается в том, что при запуске Serenity тестов автоматически удаляется WebDriverAgent из iPhone.
WDA деплою вручную, через терминал, с помощью следующей команды:
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination id=39a8bc60c8b4d62417f9d953abc2289daac60709 CODE_SIGNING_REQUIRED=YES test -allowProvisioningUpdates
(может, в будущем, перепишу запуск WDA как отдельного сервера в тестовый фреймворк (http://appium.io/docs/en/advanced-concepts/wda-custom-server/), но пока времени нет совсем)
И, как понимаю, все идет хорошо, так как в самом конце получаю результат:
Test Case '-[UITestingUITests testRunner]' started.
t = 0.01s Start Test at 2020-01-16 16:41:53.459
t = 0.02s Set Up
2020-01-16 16:41:53.551422+0200 WebDriverAgentRunner-Runner[1923:249336] xpc error: Connection interrupted
2020-01-16 16:41:53.571830+0200 WebDriverAgentRunner-Runner[1923:249336] Built at Jan 16 2020 15:40:35
2020-01-16 16:41:53.683492+0200 WebDriverAgentRunner-Runner[1923:249336] ServerURLHere->http://10.25.173.28:8100<-ServerURLHere
Беру оттуда IP адрес и прописываю как значение для “wdaBaseUrl” (DesiredCapabilities).
Когда запускаю тесты (через IntellijIIDEA, запускаю по отдельности каждый feature file), получаю кучу логов, а впоследствии такой аутпут:
[debug] [WD Proxy] Proxying [GET /status] to [GET http://null:null/status] with no body
[WD Proxy] Got an unexpected response with status undefined: {"errno":"ENOTFOUND","code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"null"}
К этому времени WDA автоматически удален из айфона.
Сейчас пробую дебажить, где сетаются значения для WDA (URL & port), а также пытаюсь обнаружыть, почему удаляется сам WDA, но пока безрезультатно
Какие решения уже смотрела?
- Appium Pro: Optimizing WebDriverAgent Startup Performance
- Issues · facebookarchive/WebDriverAgent · GitHub
Посмотрите пожалуйста, что я делаю не так.
И если у вас есть полезные материалы по автоматизации и настройке appium+iOS, поделитесь пожалуйста!
Заранее благодарна за любую помощь!
P.S. Список всех DesiredCapabilities
cap = new DesiredCapabilities();
cap.setCapability("noReset", "true");
cap.setCapability("fullReset", "false");
cap.setCapability("showXcodeLog", "true");
cap.setCapability("showIOSLog", "true");
cap.setCapability("wdaStartupRetries", "2");
cap.setCapability("bundleId", com.notes.preprod");
cap.setCapability("useNewWDA", "false");
cap.setCapability("usePrebuiltWDA", "false");
cap.setCapability("automationName", "XCUITest");
cap.setCapability("wdaBaseUrl", "10.25.173.28");
cap.setCapability("wdaLocalPort", "8100");
cap.setCapability("platformName", "IOS");
cap.setCapability("platformVersion", "12.4.3");
cap.setCapability("deviceName", "Lucky’s iPhone");
cap.setCapability("udid", "39a8bc60c8b4d62417f9d953abc2289daac60709");
cap.setCapability("appium.app", "app/MyNotes-Preprod.ipa");