Здравствуйте. Столкнулся с проблемой запуска автотеста на смартфоне. Тест написан в IntelliJ с помощью Selenide, локаторы взяты через UIAutomator Viewer.
Ситуация такова:
Запускаю автотест через Appium
Открывается .apk приложение в смартфоне
Затем на моем ПК открывается браузер Firefox
Тест падает, поскольку Selenide пытается найти указанный локатор не в приложении на смартфоне, а в пустом окне браузера. В консоли IDE’шки показывает ошибку:
Feb 08, 2018 11:17:55 AM com.codeborne.selenide.impl.WebDriverThreadLocalContainer getWebDriver
INFO: No webdriver is bound to current thread: 1 - let’s create new webdriver
Что пробовал из вариантов:
Проверял записанные пути окружения
Указывал путь к файлу с папки из ПК, из папки с проектом и на самом смартфоне
Подключал разные драйверы: AppiumDriver, AndroidDriver, RemoteWebDriver
Молился
В общем, уже сижу и не знаю, что делать. Заранее спасибо за советы, помощь или хотя бы слова утешения)
Как я понял ты хочешь одновременно тестировать приложение из андроида и веб из браузера.
То нужно создавать 2 инстанс драйвера и с ними работать к примеру driverAppium для андроида и driverWeb для браузера.
Не совсем. Мне нужно тестировать только на Андроиде и приложение должно запускаться на смартфоне. Но по какой-то причине после начала прогона теста и запуска приложения открывается браузер на ПК. Хотя в тесте ничего про запуск веб-браузера не указывал.
Было подозрение, что запуск браузера и упоминаемый в логах Marionette где-то прописаны в дефолтных настройках окружения, но вот где? Ставил Android SDK, ADB, Appium и прочее, что нужно.
Вот что прописано в файле .bashr, ОС Ubuntu 16.04 LTS (уже тоже добавлял все, что только можно)
Ситуация решилась тем, что драйверу селенида не были переданы параметры самого устройства, понадобилось добавить строчку WebDriverRunner.setWebDriver(driver); и заработало. По итогу, были эмулированы настройки для Аппиума, но ничего не передано Селениду - в результате чего тот и пробовал действовать по своей базовой схеме, со вшитым запуском браузера Мазилла