Автотесты разработаны для исполнения в IDE Android Studio с использованием дополнительного ПО:
- Gradle (сборщик проектов),
- JUNIT4 (тестовый фреймворк),
- Espresso (тестовый фреймворк),
- Allure (библиотека генерации отчетности),
- Git, GitHub (система контроля версий и репозиторий для их хранения),
После установки и запуска IDE при открытии проекта все необходимые библиотеки загрузятся автоматически, Git устанавливается и настраивается вручную.
Тестируемое приложение находится в папке ./app,
.\app\local.properties - локальные настройки, путь к расположению пакета SDK,
.\app_build.gradle, .\app_gradle.properties, .\app_settings.gradle - настройки Gradle,
.\app\src\main - исходные файлы приложения,
.\app\src\androidTest - папка с тестовыми классами,
.\data\DataHelper.java - класс датахэлпера, для хранения и формирования часто используемых данных,
.\pageobject\AboutScreen.java - класс для описания сущности экрана О приложении,
.\pageobject\AppMain.java - класс для описания сущности всего приложения,
.\pageobject\Dashboard.java - класс для описания сущности дашбоарда,
.\pageobject\LoginScreen.java - класс для описания сущности экрана авторизации,
.\pageobject\MainScreen.java - класс для описания сущности главного экрана,
.\pageobject\MissionScreen.java - класс для описания сущности экрана Mission,
.\pageobject\NewsControlPanel.java - класс для описания сущности панели управления новостями,
.\pageobject\NewsScreen.java - класс для описания сущности экрана опубликованных новостей,
.\test\AppMainTest.java - класс для тестирования общих функций приложения,
.\test\AuthorizationTest.java - класс для тестирования экрана авторизации,
.\test\BaseForTest.java - базовый класс с общими методами для остальных тестовых классов,
.\test\DashboardTest.java - класс для тестирования дашбоарда,
.\test\NewsControlPanelTest.java - класс для тестирования панели кправления новостями,
.\runner\UITestSuite.java - класс для одномоментного запуска всех тестов,
Тесты запускаются либо по одному, либо наборами через тестовые классы *Test.java, при использовании класса UITestSuite.java запустятся все автотесты проекта. Чтобы запустить тест (или набор тестов) необходимо кликнуть правой кнопкой мыши на коде теста (или заголовке соответстующего класса) и выбрать в меню пункт Run<название теста/класса> (или нажать Ctrl+Shift+F10)
Тесты начнут работу и по истечении некоторого времени в нижней панели во вкладке Run отобразится краткий итог - какие и сколько тестов прошли/не прошли.
При помощи библиотеки Allure формируется подробный отчет о тестировании, включающий тестовое окружение, описание тестов, разбивку по функциональности, пошаговый протокол и пр. Для этого в коде прописаны специальные аннотации. Чтобы получить подробный отчет Allure, необходимо после отработки тестов скопировать папку .\data\data\ru.iteco.fmhandroid\files из эмулятора android на локальный диск тестирующего компьютера. Затем, находясь в скопированной папке, набрать в командной строке (можно использовать cmd.exe) команду "allure serve". Подробный отчет откроется в браузере (ссылка на zip)