1. Введение в автоматизацию: настройка среды разработки и первая программа на Java
Введение в автоматизацию: настройка среды разработки и первая программа на Java
Представьте, что за время регрессионного тестирования вам нужно заполнить одну и ту же форму авторизации двести раз с разными комбинациями логина и пароля. Это скучно, долго и, что самое опасное, на сто девяносто девятом разе глаз замыливается, и вы можете пропустить очевидный баг. Автоматизация берет эту рутину на себя. Скрипт не устает, не пьет кофе и выполняет проверки со скоростью процессора. Переход от ручного тестирования к автоматизированному — это не смена профессии, это смена инструмента. Вы по-прежнему ищете баги, но теперь ваши тест-кейсы выполняет не ваша рука, а написанный вами код.
Чтобы компьютер начал выполнять наши тестовые сценарии, нам нужно научиться говорить с ним на одном языке. В нашем курсе этим языком будет Java — один из самых популярных и надежных языков в сфере QA Automation. Но прежде чем написать первую команду, нам нужно подготовить рабочее место.
Инструменты инженера по автоматизации
В ручном тестировании ваши главные инструменты — это браузер, система отслеживания задач (например, Jira) и инструменты разработчика (DevTools). В автоматизации на Java базовый набор состоит из двух фундаментальных компонентов: JDK и IDE.
Частая ошибка новичков — путать язык программирования, среду для его запуска и программу, в которой пишется код. Давайте разделим эти понятия.
| Компонент | Расшифровка | Роль в автоматизации | Аналогия из жизни | | :--- | :--- | :--- | :--- | | JDK | Java Development Kit (Набор разработчика Java) | Предоставляет компилятор и библиотеки, необходимые для перевода вашего кода на язык, понятный компьютеру. Без него Java-код — просто текст. | Двигатель автомобиля. Он скрыт под капотом, но именно он заставляет машину ехать. | | IDE | Integrated Development Environment (Интегрированная среда разработки) | Программа, в которой вы пишете код. Она подсвечивает ошибки, подсказывает команды и позволяет запускать тесты одной кнопкой. | Приборная панель и руль. Это удобный интерфейс для управления двигателем. |
> Среда разработки (IDE) не заменяет знание языка, но она берет на себя всю черновую работу: от форматирования текста до автоматического поиска пропущенных точек с запятой. > > Роберт Мартин, "Чистый код"
Для нашего курса мы будем использовать IntelliJ IDEA Community Edition — это бесплатная версия самой популярной IDE в мире Java, которая стала индустриальным стандартом для QA-инженеров.
Настройка рабочего окружения
Чтобы подготовить систему к написанию автотестов, нужно выполнить два шага в строгой последовательности: сначала ставим «двигатель», затем «приборную панель».
Когда оба инструмента установлены, мы готовы создать наш первый проект. В терминологии автоматизаторов проект — это папка, в которой будут храниться все ваши тестовые сценарии, настройки и отчеты о прохождении проверок.
Первая программа: от слов к коду
В программировании есть традиция — начинать изучение нового языка с программы, которая выводит на экран фразу «Hello, World!». Но так как наша цель — тестирование, мы напишем программу, которая сообщит нам, что система готова к запуску автотестов.
Откройте IntelliJ IDEA, создайте новый проект (New Project), назовите его QaAutomationBasics и убедитесь, что в поле JDK выбрана установленная вами версия Java.
Внутри проекта создайте файл с именем FirstTest.java и напишите в нем следующий код:
После того как вы нажмете зеленую кнопку запуска (Run) рядом с кодом, в нижней части экрана откроется окно консоли, где появится текст: Тестовое окружение готово к работе!
Поздравляю! Вы только что написали и успешно выполнили свой первый Java-код. Но чтобы уверенно двигаться дальше, нужно понимать, что именно делает каждая строчка в этом небольшом скрипте.
Анатомия первого скрипта
Java — язык со строгими правилами. В отличие от ручного тест-кейса, где шаг «нажми кнопку» можно описать десятком разных фраз, компьютер требует абсолютной точности. Разберем написанный код по частям.
Класс как контейнер
Первая строкаpublic class FirstTest объявляет класс. В Java весь код должен находиться внутри классов. Пока что можете думать о классе как о шкафчике, в котором хранятся инструменты для определенной задачи.Важное правило Java, нарушение которого сразу приведет к ошибке: имя класса должно в точности совпадать с именем файла. Если файл называется FirstTest.java, то и класс должен называться FirstTest. Фигурные скобки { } обозначают границы этого класса — начало и конец шкафчика.
Точка входа
Вторая строкаpublic static void main(String[] args) — это метод main.
Когда вы нажимаете кнопку «Run», компьютер не читает код сверху вниз, как книгу. Он целенаправленно ищет метод с именем main. Это стартовая черта вашей программы, точка входа. Если в классе нет метода main, программа просто не поймет, откуда начинать работу, и не запустится.Действие
Третья строкаSystem.out.println("Тестовое окружение готово к работе!"); — это сама команда.
System.out обращается к стандартному выводу системы (нашему экрану).println (сокращение от print line) приказывает напечатать текст и перевести курсор на новую строку." ".;. Это аналог точки в конце предложения в русском языке. Она говорит компьютеру: «Команда завершена, переходи к следующей».Что дальше?
Сегодня мы заложили фундамент: настроили связку JDK + IDE и разобрали структуру минимальной Java-программы. Вы увидели, как текст в редакторе превращается в результат в консоли.
Однако в реальном автоматизированном тестировании мы не просто выводим текст на экран. Мы работаем с данными: логинами, паролями, ожидаемыми результатами вычислений, URL-адресами страниц. Чтобы скрипт мог брать эти данные, запоминать их и подставлять в нужные поля, нам нужно научиться хранить информацию внутри программы. Именно этим мы займемся на следующем шаге, когда будем разбирать типы данных и переменные.