Тестовое задание для компании MetaQuotes.
- Задание
- Используемые инструменты
- Запуск автоматизированного теста
- Конфигурация запуска
- Скриншоты отчета
- Логирование выполнения теста
- Основные пакеты проекта
- Что еще можно сделать
Реализовать сценарий для фильтрации событий в Android приложении Tradays:
- Открыть приложение Tradays.
- Убедиться, что язык приложения выбран Английский.
- Отфильтровать события экономического календаря по следующим параметрам:
Importance | Country
Medium | Switzerland - Открыть первое Switzerland событие в отфильтрованном списке.
- Проверить, что приоритет и страна отображаемого события соответствуют выбранным фильтрам.
- Вывести в лог историю события за последние 12 месяцев в виде таблицы.
Пример таблицы:
| Date | Actual | Forecast | Previous |
| 31 May 2019 | -0.7% | 0.3% | 0.0% |
- Java 8
- Appium
- Cucumber
- Allure
- Apache Maven
Тест запускается командной mvn clean test
Запуск теста в режиме debug mvn clean test -DforkCount
Для создания Allure-отчета используется команда mvn site
- отчет будет сгенерирован по пути target/site/allure-maven-plugin/index.html
Для конфигурации запуска используется файл environment.properties
, который находится в папке <корень проекта>/src/main/resources
параметры:
- device - наименование телефона
- platform - наименование операционной системы, например, Android
- platformVersion - версия операционной системы
- page.objects - пакет с PageObject классами
- appium.server - адрес сервера, на котором поднят Appium сервер
- appPackage - основной пакет приложения, net.metaquotes.economiccalendar
- appActivity - Activity приложения, которое открывается при запуске, net.metaquotes.ui.MainActivity
- driver.timeouts.implicitlywait - таймаут неявного ожидания элеентов
- page.timeouts.wait - таймаут ожидания загрузки страницы: ожидание исчезнованеия лоадера
- application - относительный путь до apk файла тестируемого приложения
Для удобства разместил в проекте скрины отчета Allure
Для логирования используется библиотека slf4j
. Конфигурационный файл log4j.properties
находится в папке <корень проекта>/src/main/resources
Лог файл можно посмотреть по ссылке log
- src/main/java
- annotation - аннотации, которые используется в организации структуры PageObject
- core - ядро проекта: инициализация PageObject, поиск элементов, типизация элементов, конфигурация и т.д.
- cucumber - конвертеры для шагов Cucumber
- hook - действия, которые будут выполнены перед/после выполнением теста
- logging - логирование старта теста, шагов Cucumber и Allure
- page - PageObject классы, описывающие страницы тестируемого приложения
- steps - шаги, которые используются при разработка автоматизированного теста
- src/main/resources
- META-INF/services - подключение кастомного логгера шагов Allure
- environment.properties - файл с конфигурацией запуска
- log4j.properties - файл с конфигурацией логгера
- src/test/java
- TestRunner - класс, который запускает тесты
- src/test/resources
- features - разработанные автоматизированные тесты
- поиск элементов, если до них необходимо скроллить. Сейчас это сделано только для коллекций и списков
- автоматический запуск appium сервера
- снятие скриншота, если тест закончился с ошибкой
- избавиться от наименования пакета разработчика, если выполняется поиск по id, то есть чтобы вместо
net.metaquotes.economiccalendar:id/tab_history
писать в локатореtab_history
- параллельное выполнение тестов, когда их станет больше одного