Автоматизатор мобильных приложений
Тренер: Арсений Батыров
Приглашенный эксперт: Виталий Котов
Курс дает все необходимые навыки для самостоятельной настройки полного стека автоматизации с нуля.
Онлайн-тренинг
Описание
Мобильная автоматизация – непростая тема. В ней еще нет наработанных решений, мало экспертов, а инструменты – новые и нестабильные. При этом любая компания хочет сократить срок разработки новых версий мобильных приложений, в том числе и за счет автоматизации тестирования.
Автоматизатор мобильных приложений – одна из наиболее высокооплачиваемых профессий на рынке. Учитывая дефицит кадров, многие автоматизаторы стоят дороже программистов. Поэтому любому хорошему тестировщику стоит освоить базовые навыки мобильной автоматизации.
Курс «Автоматизатор мобильных приложений» дает все необходимые навыки для самостоятельной настройки полного стека автоматизации с нуля. Мы не учим просто писать тесты или разворачивать среду тестирования, ведь этого недостаточно в работе.
На этом курсе вы научитесь:
-
Работать с обеими платформами – iOS и Android;
-
Выбирать правильные инструменты, подходящие именно под ваши задачи;
-
Настраивать среду автоматизации с нуля на различных операционных системах;
-
Писать качественные тесты, которые легко поддерживать и расширять;
-
Получите все необходимые знания для старта автоматизации в вашем проекте.
По окончании курса ваших навыков будет вполне достаточно для работы автоматизатором мобильных приложений в любой крупной компании.
Мы используем связку из самых популярных инструментов: Java8 + JUnit + Appium. Популярность стека можно оценить по опросу, актуальному на январь 2018.
Необходимые знания для курса:
1) Понимание основ ООП. Надо понимать, что такое класс, метод класса и поле класса. Круто, если есть понимание таких вещей, как наследование и модификаторы доступа.
2) Основы Java. Надо знать базовые типа данных: int, char. Надо знать, что такое String и List.
3) Надо знать, что такое локатор и как составить просто XPath локатор.
Программа курса
Урок 1: Введение в Java и JUnit
На этом уроке мы скачаем и установим IDE - программу для написания и запуска кода на Java. Создадим проект, в котором разберем основы языка программирования Java. После научимся подключать библиотеки на примере JUnit и напишем первые тесты. Научимся запускать их и писать отчеты об ошибках для них.
В конце этого урока у вас уже будет настроенный проект и несколько работающих тестов на JUnit, выложенных на вашем аккаунте на Github.
- Установка инструментов разработки IDE
- Создание проекта в IntelliJ IDEA
- Основы работы с Java - переменные и типы данных, функции
- Основы работы с Java - классы, методы класса и объекты
- Объектно-ориентированное программирование - наследование, инкапсуляция, полиморфизм
- Модификаторы доступа в Java - public, private, protected
- Поля класса - переменные внутри классов
- Статические поля и методы - для чего нужны и как использовать
- Азы работы с тестовым фреймворком JUnit
- Создание простых тестов на JUnit
- Статусы теста - success, skip, failed, error
- Аннотации и описания к тестам
- Проверки в тестах - assertTrue/assertFalse, assertEquals и так далее
- Git и Github - выкладываем наши тесты в свой репозиторий
В качестве домашнего задания вам предстоит самостоятельно разработать несколько тестов на JUnit. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
Урок 2: Установка и настройка инструментов
На этом уроке мы разберемся с тем, какие инструменты используются для автоматизации тестирования мобильных приложений. Установим эти инструменты на Windows и MacOS. Затем в IDE создадим новый проект для автотестов и напишем первый автотест для Android-приложения.
В конце этого урока на вашем Github-аккаунте появится первый работающий тест на Android. А на ПК будут установлены все необходимые программы для создания и запуска новых тестов.
- Обзор инструментов мобильной автоматизации
- Программное обеспечение для тренинга
- Установка инструментов (Windows)
- Установка инструментов (MacOS)
- UIAutomatorViewer и Appium Viewer
- Настойка тестового приложения
- Packages and Capabilities
- Создание нового проекта в IDE, подключение библиотек
- Запуск первого теста на Android
В качестве домашнего задания вы настроите весь необходимый софт на своем ПК и напишите свой первый тест на Android.
Урок 3: Первые тесты на Android
На этом уроке мы напишем несколько новых тестов на Android, научимся составлять локаторы для элементов на языке XPath и по ID, а также используем основные методы для взаимодействия с UI нашего приложения. Затем разберем типы ожиданий.
В конце этого урока у Вас будет несколько новых тестов, которые активно взаимодействуют с UI - умеют создавать ожидания для стабильной работы тестов, кликать и тапать по элементам и заполнять формы.
- Локаторы, виды локаторов - поиск по ID и XPath
- Простые методы: find_element, click, sendKeys
- Ожидания (wait) - появление элемента, видимость элементов
- Дополнительные методы проверок - проверка отсутствия элемента
В качестве домашнего задания вы напишите несколько простых тестов для Android-приложения. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
Урок 4: Продвинутые тесты на Android
На этом уроке разберемся с более сложными методами написания тестов и взаимодействия с UI нашего приложения. Напишем тесты на свайп элементов во все стороны, создадим новые ассерты (проверки), дополняющие методы JUnit, научимся правильно подготавливать эмулятор и приложение перед стартом теста.
В конце этого урока в вашем репозитории станет существенно больше тестов, способных совершать более комплексные проверки работоспособности приложения.
- Типы свайпов и организация удобных методов для них
- Ассерты - пишем свои методы для проверки состояния приложения
- Повороты экрана и правильная подготовка эмулятора перед стартом тестов
- Background apps - тестируем работоспособность приложения в фоновом режиме
В качестве домашнего задания вы напишите несколько комплексных тестов для Android-приложения. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
Урок 5: Паттерны PageObject, PageFactory и другие
На этом уроке мы изучим самые популярные паттерны проектирования автотестов. Мы создадим PageObject классы для нашего приложения, научимся применять на практике паттерн "фабрика" и вынесем подготовку приложения и запуск эмулятора в конфиг-классы TestBase и TestCore.
В конце этого урока у вас на Github будут выложены тесты, прошедшие тщательный рефакторинг и созданные по всем правилам корпоративной разработки. Эти тесты уже можно будет приложить к резюме или показать на собеседовании. Вы будете понимать каждую строчку, написанную в вашем коде, и сможете грамотно рассказать о своем проекте работодателю.
- Page object model для организации тестов
- Создание фабрики PageObject для кроссплатформенных тестов
- Разбор других паттернов для разработки тестов
- Подготовка окружения для тестов - класс TestBase и TestCore
В качестве домашнего задания вам предстоит самостоятельно отрефакторить тесты, написанные во время прохождения уроков и выполнения предыдущих домашних заданий. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
Урок 6: Простые тесты для iOS
На этом уроке мы начнем писать тесты для iOS-приложения. Для этого мы обновим XCode до последней версии, настроим симуляторы и запустим на них тестовое приложение.
Внимание, для этого урока обязательно нужен MacBook.
В конце этого урока у нас будут базовые тесты для iOS-приложения.
- Установка XCode и iOS-симуляторов
- Запуск приложения на iOS-симуляторе
- Appium Viewer для iOS - поиск локаторов
- Подключение iOS-платформы к тестам
- Базовые тесты для iOS-приложение
В качестве домашнего задания надо будет настроить весь софт для работы с iOS и написать несколько простых тестов для iOS-приложения. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
Урок 7: Сложные тесты для iOS
На этом уроке мы "научим" тесты для Android-приложения работать также для iOS-приложения. Для этого создадим новый конфиг-класс Platform и научимся работать с переменными окружения.
Внимание, для этого урока обязательно нужен MacBook.
В конце этого урока у вас на Github уже будет фреймворк, разработанный вами, на котором можно разрабатывать тесты, одновременно покрывающие и Android, и iOS-приложение.
- Разработка кроссплатформенных тестов для iOS и Android
- Работа с переменными окружения
- Создание конфиг-класса Platform
- Универсальные методы для swipe
- Skip тестов для платформ
В качестве домашнего задания вы напишите несколько сложных тестов для iOS-приложения. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
Урок 8: Maven и CI системы на примере Jenkins
На этом уроке мы научимся работать с версиями подключенных библиотек с помощью Maven. Затем сделаем так, чтобы Appium и эмулятор могли запускаться из консоли, и разработаем bash-скрипт для автоматического запуска всех автотестов.
После мы займемся установкой Jenkins и запуском наших тестов в нем с помощью разработанного bash-скрипта.
В конце этого занятия у вас уже будут сьюты (наборы) тестов, которые будут запускаться из CI-системы Jenkins автоматически. Вы научитесь настраивать билды и сможете применить это в работе.
- Запуск эмулятора из командной строки
- Запуск Appium Server из командной строки
- Установка Maven
- Импорт проекта в IDEA
- Установка Jenkins
- Разработка bash-скриптов для Jenkins
- Запуск тестов на iOS в Jenkins
- Запуск тестов на Android в Jenkins
- Добавление тестов в suite
В качестве домашнего задания вам предстоит настроиться Maven для вашего проекта, собрать все разработанные тесты в сьют и научиться запускать его в Jenkins. Результат работы будет проверен преподавателями курса.
Урок 9: Selenium и тесты для Web на примере Mobile Web приложения
На этом уроке мы поработаем с автоматизацией Web-приложений и Selenium. Мы научим наши тесты, которые мы писали для Android и iOS, запускаться еще и для мобильной веб-версии приложения.
В конце этого урока у вас будет фреймворк, на котором можно разрабатывать тесты любой сложности, работающие сразу для Web, Android и iOS-приложений.
- Запуск Selenium и Chrome Driver
- Подготовка capabilities для Mobile Web
- Создание базовых классов для Mobile Web приложения
- Работа с инспектором Chrome DevTools
- Подготовка тестов к запуску в Jenkins
В качестве домашнего задания вы "научите" ранее созданные тесты для Android и iOS также запускаться на web-версии тестируемого приложения.
Урок-10: Отчеты в Allure-2 и сбор скриншотов
На этом уроке мы создадим удобные и информативные отчеты для наших тестов с помощью Allure-2. Мы научимся подключать его через Maven, познакомимся с основными возможностями этого инструмента и создадим свои отчеты для тестов.
В конце этого урока тесты научатся собирать скриншоты и другие ассеты во время прохождения, автоматически генерировать описаний окружения для отчета и многое другое.
- Установим утилиту allure
- Добавим Allure Framework с помощью Maven
- Изучим теги @Step, @Description, @Attachment и другие
- Научимся собирать скриншоты во время прохождения
В качестве домашнего задания мы расставим все теги по всему боевому коду так, чтобы отчет был максимально полезен именно для вас.
ЧАСТЫЕ ВОПРОСЫ
1. Нужен ли MacBook для прохождения курса?
Если коротко — курс можно пройти и без MacBook. И получить сертификат. Но часть вещей выполнить не получится.
Для полного прохождения курса MacBook необходим, как и система MacOS Сatalina и выше. Симуляторы iOS не работают на других системах. MacBook можно взять на работе, попросить у друзей, арендовать или купить.
Если у вас нет MacBook, вы не сможете запустить тесты на iOS. Этому на курсе посвящено два урока из девяти. В этом случае мы заменим для Вас практические задания по этим урокам на теоретические.
Остальные уроки можно пройти на Windows.
2. Можно ли проходить курс на Python?
Если коротко — да.
Видеоуроки курса записан на Java и библиотеки JUnit. Если вы захотите писать тесты на Python, мы подскажем какие библиотеки можно использовать вместо JUnit. Также, наши преподаватели знают Python и смогут без проблем делать ревью Ваших домашний и давать обратную связь.
Само собой, если вы выбираете Python, повторять код из учебных видео "слово в слово" не получится, придется разбираться в том, как написать то же самое на Python.
Технические требование:
- Windows 10 ИЛИ Ubuntu 16.04+ (подойдет только для работы с тестами на Android)
- Mac OS Catalina или выше (подойдет и для Android, и для iOS)
- Процессор Intel i-серии (i3, i5, i7)
- Минимум 8 GB RAM
- 10 GB на жёстком диске
- Разрешение экрана минимум 1280 x 800
Внимание, только на Mac OS можно пройти задания для iOS. Если у вас нет Mac OS, мы можем заменить задания для iOS на теоретические.
Предусловия
Мы ожидаем, что вы уже обладаете базовой компьютерной грамотностью. На этом курсе мы будем работать с подключением телефонов с разными ОС к разным компьютерам, командной строкой, графическим и консольным интерфейсами, переменными окружения, различными файловыми системами, логами, IDE, клиент-серверной архитектурой, скриншотами и видео.
Если вы не уверены, что знаете все это в должной мере — пройдите простой тест: https://www.learnqa.ru/abc_test. Если по результатам теста вы получите меньше 20 баллов — мы рекомендуем пройти короткий курс “Азбука IT”. На нем вы сможете быстро получить все необходимые знания, которые совершенно точно пригодятся вам в дальнейшем.
Помимо этого, вам потребуется знание любого языка программирования на базовом уровне. Мы работаем с Java, но знания Python, Ruby или PHP тоже подойдут. Чтобы быть уверенным — пройдите этот тест: https://www.learnqa.ru/java_test
Формат
10 занятий (10 часов теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в скайп-чате.
Раз в неделю по средам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.
Теоретическую информацию можно посмотреть в любое удобное время.
Помимо теоретической части, вас также ждут практические задания для самостоятельной работы, которые вы можете прислать тренеру на проверку. После проверки практических заданий Вы получаете подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать работу и отправить ее тренеру еще раз.
Общение участников курса и тренера проходит и в чате группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками группы. Вы можете задавать вопросы по теоретическому материалу или практическим работам, как только они у вас возникают.
Все выпускники, успешно сдавшие домашние задания, получают сертификат.
Материалы курса доступны в течение года с даты окончания.
Условия
Стоимость участия для физических лиц: 20 350 рублей за весь курс.
Стоимость участия для юридических лиц: 25 300 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.
Организатор тренинга: ИП Батыров Арсений Георгиевич, ИНН 370207708748, ОГРНИП 316370200075996
Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.
Если Вы хотите оплатить тренинг прямо сейчас, то нажмите кнопку выше (если кнопка активна, значит можно оплачивать не беспокоясь о наличии мест). После оплаты мы пришлем письмо о регистрации на курс и подтверждение оплаты. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru
Если Вы хотите совершить оплату позже, для гарантированного участия обязательно забронируйте место на тренинге, для этого необходимо нажать на кнопку ЗАПИСАТЬСЯ справа от тренинга и заполнить все необходимые поля
Если у Вас есть какие-то вопросы, их можно задать по указанному выше адресу.
Информация для юридических лиц:
Для регистрации на тренинг и оформления договора и выставления счета на оплату нажмите кнопку Записаться, выберите пункт Организация и заполните все поля.
Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.
В случае возникновения вопросов обращайтесь по адресу trainings@software-testing.ru.
Отзывы
Rodion, тестировщик
Что хорошего было на курсе? Что понравилось?
Структурировано собранные в одном месте материалы по автоматизации тестирования мобилок - то что нужно!
Юлия Куцабова, тестировщик в компании по доставке еды
Что плохого было в курсе? С какими проблемами вы столкнулись? Чего не хватает? Что лучше убрать?
Меня все устраивало, проблем с курсом не возникало.
Что хорошего было на курсе? Что понравилось?
Я переделала текущий проект на работе, основываясь на ваших уроках. И теперь не боюсь ООП)) Так как пришлось многое узнать и со многим разобраться в процессе рефакторинга.
Я сделала структуру тестов и код более удобочитаемым по примерам из уроков.
Я никогда раньше не писала на Java, но все получилось. Спасибо большое, было очень приятно проходить курс!
Хочу отметить, что у Арсения очень спокойный и приятный голос, внушающий уверенность. А еще было очень приятно, когда он хвалил в конце каждого занятия))
Комментарий тренера:
Мы очень рады таким отзывам! Если навыки получается сразу применять в работе — значит курс максимально эффективен.
Ближайшие онлайн
-
Погружение в тестирование. Jedi point
Начало: 7 октября 2024
-
Charles Proxy как инструмент тестировщика
Начало: 10 октября 2024
-
CSS и Xpath: инструменты тестировщика
Начало: 10 октября 2024
-
Python для начинающих
Начало: 10 октября 2024
-
Автоматизация тестов для REST API при помощи Postman
Начало: 10 октября 2024
-
Азбука IT
Начало: 10 октября 2024
-
Инженер по тестированию программного обеспечения
Начало: 10 октября 2024
-
Конференция по тестированию Heisenbug 2024 Autumn
Начало: 10 октября 2024
-
Автоматизация функционального тестирования
Начало: 11 октября 2024
-
Программирование на Java для тестировщиков
Начало: 11 октября 2024
-
Английский для тестировщиков
Начало: 14 октября 2024
-
Комплексная система подготовки тестировщиков по программе ISTQB FL
Начало: 14 октября 2024
-
Логи как инструмент тестировщика
Начало: 14 октября 2024
-
Тестирование REST API
Начало: 14 октября 2024
-
Автоматизатор мобильных приложений
Начало: 16 октября 2024
-
Автоматизация тестирования REST API на Java
Начало: 16 октября 2024
-
Автоматизация тестирования REST API на Python
Начало: 16 октября 2024
-
Тестирование безопасности
Начало: 16 октября 2024
-
Тестирование мобильных приложений 2.0
Начало: 16 октября 2024
-
Школа тест-менеджеров v. 2.0
Начало: 16 октября 2024