Я пытаюсь создать тест пользовательского интерфейса в Android Studio, который будет перемещаться по различным экранам моего приложения и делать снимки экрана, когда я скажу.
Я новичок в Android Studio и программировании для Android в целом; У меня неплохое понимание XML и Java, но я мало разбираюсь в файлах сборки и, похоже, не очень хорошо разбираюсь в Android Studio.
Я начал эту работу пару недель назад, и первым решением, которое я попробовал, было использование uiautomator. Однако документация на этой странице (и, по-видимому, почти везде) ориентирована на разработку с помощью Eclipse, который я бы хотел по возможности избегать для этого проекта.
Следующим, что я попробовал, был эспрессо. После того, как я преодолел некоторые проблемы с внедрением Espresso в свой проект, я смог написать тесты с Espresso, которые будут перемещаться по экранам моего приложения. Однако, в отличие от uiautomator, в настоящее время Espresso не имеет встроенных функций для создания скриншотов.
Сначала я попытался решить эту проблему невозможности делать снимки экрана с помощью Espresso, написав собственный код; поскольку я все еще не знаком с Android, я не совсем понимал, как это сделать, поэтому я искал помощь в Интернете (Как программно сделать снимок экрана в Android?). Однако мне не удалось заставить найденные решения работать внутри тестового файла.
Кто-то рекомендовал использовать этот инструмент: https://github.com/rtyley/android-screenshot-lib, но я не мог понять, как импортировать это в свой проект.
В конце концов я вернулся к uiautomator; У меня все еще были большие проблемы с импортом его в мой проект, и некоторые люди говорили, что Robotium поможет с этим. Я заставил Robotium работать, но я все еще не мог импортировать uiautomator.
Прошел, наверное, месяц с тех пор, как я начал использовать Android Studio, и за это время у меня не было ничего, кроме проблем с правильной работой программного обеспечения. Для краткости я опустил все проблемы, которые мне удалось решить самостоятельно, но, прямо скажем, мое терпение на исходе.
TL;DR
Если бы кто-нибудь мог:
-объясните максимально простым способом, как импортировать uiautomator в проект Android Studio (я прочитал много документации о том, как импортировать внешние библиотеки в проект, но все они говорят мне добавить папку «libs» в мой проект, но не указывайте, какой тип папки использовать [Папка ресурсов Java? Папка активов? Модуль? и т. д.], и/или они говорят мне перейти в структуру проекта, выбрать мое приложение, перейти к зависимостям и выбрать «Импортировать как модуль». ," который не работает...)
OR
-объясните, как лучше всего сделать снимок экрана внутри теста эспрессо, включая любые инструкции о том, как импортировать все необходимые библиотеки
OR
-подробно объясните какой-либо другой способ создания теста пользовательского интерфейса, который может делать снимки экрана...
...Я был бы очень признателен. Я провел дни, пытаясь понять, как это сделать, и я так расстроен. Многие люди задавали подобные вопросы, но ответы либо были слишком расплывчатыми, либо проблемы не были достаточно близки к моим собственным.
Спасибо!