Автоматизатор мобильных приложений

Ближайший старт: 23 декабря 2020
10
недель на освоение востребованного навыка
13
популярных библиотек, чтобы писать тесты на Android, iOS и Mobile Web
75
тестов на функционал мобильных приложений
На рынке мало мобильных автоматизаторов
Компании готовы нанимать специалистов с навыками мобильной автоматизации на хорошие зарплаты
> 400 вакансий
мобильных автоматизаторов открыто сейчас на hh.ru
~ 120,000 руб.
Средняя зарплата мобильного автоматизатора
3 месяца
нужно, чтобы освоить мобильную автоматизацию
Навыки мобильной автоматизации
Автоматизатор мобильных приложений — одна из наиболее высокооплачиваемых профессий на рынке. Учитывая дефицит кадров, многие автоматизаторы стоят дороже программистов. Поэтому любому хорошему тестировщику стоит освоить навыки автоматизации.

Этот курс дает все необходимые навыки для самостоятельной настройки полного стека автоматизации с нуля. Мы не просто учим писать тесты или разворачивать среду тестирования, ведь этого недостаточно в работе. Мы учим создавать автоматизацию тестирования на проекте с самого нуля, развивать и поддерживать ее на всех этапах разработки и тестирования вашего продукта.

Что вы получите на наших занятиях:

  • Научитесь работать с обеими платформами – iOS и Android;
  • Освоите автоматизацию Web на примере Mobile Web приложения;
  • Изучите правильные инструменты, подходящие именно под ваши задачи;
  • Настроите среду автоматизации с нуля на Windows, MacOS или Linux;
  • Научитесь поднимать Jenkins и запускать тесты в CI-системе;
  • Разработаете собственный тестовый фреймворк;
  • Добавите удобные и понятные отчеты о прохождении тестов на Allure
  • Создадите большой проект по автоматизации, который будет у вас на Github и который можно смело добавить в свое резюме.

Итоговый проект можно будет добавить в свое резюме, а наработки использовать в работе, как делают многие наши выпускники.
Частые вопросы
Нужен ли MacBook для прохождения курса?

Если коротко — курс можно пройти и без MacBook. И получить сертификат. Но часть вещей выполнить не получится.

Для полного прохождения курса MacBook необходим, как и система MacOS Catalina и выше. Симуляторы iOS не работают на других системах. MacBook можно взять на работе, попросить у друзей, арендовать или купить.


Если у вас нет MacBook, вы не сможете запустить тесты на iOS. Этому на курсе посвящено два урока из десяти. В этом случае мы заменим для Вас практические задания по этим урокам на теоретические.

Остальные уроки можно пройти на Windows.


Можно ли проходить курс на Python или Kotlin?

Если коротко — да.

Уроки курса записан на Java. Если вы захотите писать тесты на Python или Kotlin, мы подскажем какие библиотеки можно использовать и какие изменения потребуются. Наши преподаватели знают Python и Kotlin и смогут без проблем делать ревью Ваших домашних заданий и давать обратную связь.

Посмотрите примеры занятий
Введение
Запуск тестов в Jenkins
Проверьте свои знания!
На нашем курсе вам будут нужны начальные знания Java или любого другого языка программирования. Мы сделали тест, чтобы вы могли определить, достаточно ли вашего уровня для прохождения курса.
Программа занятий
От 10 до 16 недель обучения в зависимости от выбранного пакета курсов
Урок 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-версии тестируемого приложения.
Новинка! Десятый урок: Отчеты в Allure и сбор скриншотов
На этом уроке мы создадим удобные и информативные отчеты для наших тестов с помощью Allure-2. Мы научимся подключать его через Maven, познакомимся с основными возможностями этого инструмента и создадим свои отчеты для тестов.

В конце этого урока тесты научатся собирать скриншоты и другие ассеты во время прохождения, автоматически генерировать описаний окружения для отчета и многое другое.

  • Установим утилиту allure
  • Добавим Allure Framework с помощью Maven
  • Изучим теги @Step, @Description, @Attachment и другие
  • Научимся собирать скриншоты во время прохождения

В качестве домашнего задания мы расставим все теги по всему боевому коду так, чтобы отчет был максимально полезен именно для вас.
Программа Git (опционально)
Введение

  • Что такое система контроля версий
  • Обзор систем контроля версий
  • Почему Git
Создание аккаунта на Github

  • Регистрация
  • Обзор интерфейса
  • Создание собственного репозитория

Настройка локальной работы

  • Установка Git на локальный компьютер
  • git clone

Информационные команды

  • git status
  • git diff
  • git log
  • git show
  • git blame

Работа с удаленной информацией

  • git fetch
  • git pull

Работа с локальными изменениями

  • git commit
  • git push
  • git merge

Буфер данных

  • git stash
  • git pop

Ветки (branch)

  • git branch
  • git branch delete
  • git checkout

Работа с файлами

  • git add
  • git reset
  • git reset --soft
  • git reset --hard
  • git reset HEAD

Конфигурация Git

  • git alias
  • user
  • color
  • .gitignore

Решение конфликтов

  • решение конфликта мержа ветки
  • решение конфликта буфера

GitFlow

  • Разбор типовых flow работы с Git

Разбор популярных сервисов

  • Регистрация на GitLab
  • Регистрация на BitBucket
    Программа Docker (опционально)
    Вступление
    • Что такое Docker
    • Отличие Docker от Virtual Machine
    • Для чего используют Docker
    • Почему для Windows и MacOS все не так?
    Установка Docker
    • Установка Docker на MacOS
    • Установка Docker на Windows
    • Установка Docker на Linux
    Первые команды
    • Версия Docker
    • Помощник Docker
    Контейнеры (containers)
    • Что такое контейнер
    • Как запустить контейнер
    • Параметры команды run
    • Запускаем контейнер с Ubuntu
    • Detached контейнеры
    • Attach запущенного контейнера
    • Работа с несколькими контейнерами одновременно
    • Работа с файлами внутри контейнера
    Тома (volumes)
    • Что такое том
    • Создаем, подключаем и удаляем том
    Монтирование (mount)
    • Mount bind - подключение директории хост-системы
    • Mount тома
    • Пример запуска программы на Python с mount
    • Readonly mode
    • Тестирование программы на разных версиях языка программирования на примере Python
    Образы (images)
    • Что такое образ
    • Качаем образ
    • Выбираем версии
    Docker Hub
    • Регистрируемся на Docker Hub
    • Авторизация Docker из терминала
    • Создаем свой первый образ
    • Заливаем свой образ на Docker Hub
    Проксирование портов
    • Запускаем Selenium Server через Docker
    • Запускаем Selenium Server через Docker правильно
    • Создаем Selenium-сессия на запущенном контейнере
    Работа с автотестами внутри Docker
    • Разбираемся с настройками docker network
    • Разбираемся с тем, как устроены автотесты на примере Selenium-тестов
    • Скачиваем исходники Selenium-тестов на Java
    • Настраиваем запуск тестов в контейнере на примере Java и Maven
    • Связываем контейнер Selenium и контейнер с запущенными тестами
    • Работа с артефактами автотестов из контейнера
    Dockerfile
    • Что такое Dockerfile
    • Основы синтаксиса
    • Пример запуска простой программы на Python
    • Пример создания образа с Selenium-тестами
    Docker compose
    • Что такое Docker compose
    • Пример создания сервиса на примере Python-программы
    • Запуск простого сервиса
    • Запуск нескольких сервисов на примере Maven-образа с Selenium-тестами и образе Selenium Server
    Обзор решений для оркестрации контейнеров (Docker Swarm и Kubernetes)
    • Docker Swarm - для чего нужен и когда используется
    • Kubernetes - для чего нужен и когда используется
    Программа bash (опционально)
    Создание, просмотр и удаление файлов и папок
    • pwd
    • cd
    • ls
    • mkdir
    • touch
    Работа с файлами и папками
    • mv
    • cp
    • rm
    Чтение файлов
    • vi
    • nano
    • cat
    Поиск
    • find
    • grep
    Перенаправление ввода и вывода
    • |
    • >
    • >>
    Процессы
    • ps
    • top
    • kill
    Работа с удаленными ресурсами
    • ping
    • scp
    • curl
    • ssh
    Утилиты
    • sed
    • xargs
    • awk
    Организация работы в консоли
    • alias
    • bashrc
    • source
    • PS[1-2] и другие переменные окружения
    Как проходит тренинг
    1
    Занятия
    Длительность тренинга — 9 недель. Каждую неделю ученики получают видеозаписи занятий в нашей онлайн-системе обучения
    2
    Домашние задания
    К каждому занятию выдается домашнее задание. Примерное время выполнения 2-3 часа
    3
    Обратная связь
    Тренер просматривает ответы ученика и дает развернутый комментарий. Вопросы учеников разбираются в групповом чате
    4
    Сертификат
    По окончании обучения всем выполнившим домашние задания выдается сертификат о прохождении курса
    Остались вопросы?
    Записывайтесь на курс и узнайте все об автоматизации мобильного тестирования. Или сначала задайте все интересующие вас вопросы ведущим преподавателям курса.
    Отзывы наших клиентов
    Технические требования
    Внимание! Для полного прохождения курса необходимы:

    • Windows 7+ ИЛИ Mac OS Catalina ИЛИ Ubuntu 16.04+
    • Процессор i-серии (i3, i5, i7) или аналогичный от AMD
    • Минимум 8 GB RAM
    • 10 GB на жёстком диске
    • Разрешение экрана минимум 1280 x 800
    Для новичков в IT
    Мы ожидаем, что вы уже обладаете базовой компьютерной грамотностью. На этом курсе мы будем работать с командной строкой, графическим и консольным интерфейсами, переменными окружения, сетями, клиент-серверной архитектурой, скриншотами и видео.

    Если вы не уверены, что знаете все это в должной мере — пройдите простой тест. Если по результатам теста вы получите меньше 20 баллов — мы рекомендуем пройти короткий курс "Азбука IT". На нем вы сможете быстро получить все необходимые знания, которые совершенно точно пригодятся вам в дальнейшем.
    Сертификат участия
    По окончании курса каждый ученик, успешно справившийся с заданиями, получает сертификат
    Добавьте навык в резюме
    Расскажите работодателю о том, чему вы научились на курсе
    Варианты тренинга
    Выберите подходящий вам набор тренингов. При покупке нескольких курсов в комплекте сроки прохождения суммируются.
    Базовый
    10 недель обучения
    16000 руб.
    Автоматизатор мобильных приложений
    Записаться
    Уверенный
    14 недель обучения
    22000 19990 руб.
    Записаться
    В кредит — от 1713 руб. в месяц!
    Вам необязательно платить всю сумму сразу. Выберите оплату по частям во время покупки.
    Стоимость обучения для юридических лиц: 18500 руб.
    Для оформления договора и выставления счета заполните форму
    Ваш E-mail
    Дата запуска
    Количество участников
    Реквизиты
    Комментарии
    Click to order
    Total: 
    Имя и Фамилия
    Email
    Дата запуска
    Промокод
    Внимание, промокод можно применить только для одного курса. Если покупаете набор курсов, скидка уже заложена в цену.
    Payment method