Мини-проект: запускаем готовый автоматизированный тест в Selenium IDE и анализируем результат
Почему это важно?
Представьте, что вы работаете контролёром качества на заводе. Каждый день нужно проверять сотни деталей — одни и те же шаги, снова и снова. Можно делать это вручную, но быстро устаёшь и начинаешь ошибаться. А можно настроить станок-автомат, который будет проверять детали за вас — точно, быстро, без усталости.
В мире программного обеспечения роль такого «станка-автомата» играют автоматизированные тесты. Это заранее записанные инструкции для компьютера: «открой сайт, нажми кнопку, проверь, что появилась надпись». Компьютер выполняет их за секунды и сразу говорит — всё хорошо или что-то сломалось.
На этом уроке вы сделаете именно это: запустите готовый автоматизированный тест с помощью инструмента Selenium IDE, посмотрите, как он работает, и научитесь читать его результаты. Это будет ваш первый настоящий опыт автоматизации — и первый шаг к профессиональному портфолио.
Теория
Шаг 1. Что такое Selenium IDE и зачем он нужен?
Selenium IDE — это бесплатное расширение (небольшая программа, встраиваемая в браузер) для браузеров Google Chrome и Mozilla Firefox. Оно умеет:
- записывать ваши действия на сайте (вы кликаете, а Selenium IDE запоминает каждый шаг);
- воспроизводить эти действия автоматически, без вашего участия;
- проверять ожидаемые результаты и сообщать, совпали они с реальными или нет.
Аналогия. Selenium IDE — как диктофон, только для действий в браузере. Вы нажимаете «запись», делаете что-то на сайте, нажимаете «стоп» — и всё записано. Потом нажимаете «воспроизвести» — и браузер повторяет ваши действия сам.
Важно понимать: Selenium IDE не требует знания программирования. Это идеальный старт для человека, который только знакомится с автоматизацией.
Шаг 2. Ключевые понятия: команды, шаги и проверки
Каждый автоматизированный тест в Selenium IDE состоит из команд (от английского command — приказ). Каждая команда — это одно конкретное действие или проверка.
Вот три типа команд, которые вы встретите чаще всего:
| Тип команды | Что делает | Пример |
|---|---|---|
| Действие | Выполняет что-то на странице | Открыть URL, нажать кнопку, ввести текст |
| Проверка (assert) | Останавливает тест, если условие не выполнено | Проверить, что на странице есть текст «Успешно» |
| Проверка (verify) | Фиксирует нарушение, но тест продолжается | Проверить цвет кнопки, не останавливая тест |
Что такое
assert? Слово «assert» переводится как «утверждать». Когда тест встречает командуassert, он как будто говорит: «Я утверждаю, что здесь должен быть текст X. Если его нет — всё, тест провален».
Шаг 3. Из чего состоит результат теста?
После запуска теста Selenium IDE показывает отчёт — итог проверки. Каждый шаг теста получает один из статусов:
- ✅ Passed (прошёл) — команда выполнена успешно, всё совпало с ожидаемым.
- ❌ Failed (провалился) — команда не выполнена или результат не совпал с ожидаемым.
- ⚠️ Error (ошибка) — что-то пошло не так технически (например, элемент не найден на странице).
Важно для начинающих: «Failed» не значит, что вы что-то сделали неправильно. «Failed» может означать, что в приложении есть баг (ошибка в программе). Именно для этого и запускают тесты — чтобы найти такие баги.
Шаг 4. Что такое учебное веб-приложение?
Для практики QA-специалисты используют специальные учебные веб-приложения — сайты, которые созданы намеренно с ошибками или специально для тренировок. Один из самых популярных — The Internet (http://the-internet.herokuapp.com). Это простой сайт с набором типичных элементов: форм, кнопок, таблиц.
Мы будем работать именно с ним.
Шаг 5. Как читать тест в Selenium IDE?
Открыв сохранённый тест в Selenium IDE, вы увидите таблицу с тремя столбцами:
- Command — название команды (например,
open,click,assertText). - Target — на что направлена команда (например, адрес страницы или кнопка на сайте).
- Value — значение, если оно нужно (например, текст, который нужно ввести или проверить).
Пример того, как выглядит простой тест в таблице:
| Command | Target | Value |
|---|---|---|
open |
http://the-internet.herokuapp.com/login |
|
type |
id=username |
tomsmith |
type |
id=password |
SuperSecretPassword! |
click |
css=button[type='submit'] |
|
assertText |
css=.flash.success |
You logged into a secure area! |
Читается это так: «Открой страницу входа → введи имя пользователя → введи пароль → нажми кнопку входа → проверь, что появилось сообщение об успешном входе».
Шаг 6. Что значит «локатор» элемента?
В столбце Target часто видны странные записи вроде id=username или css=button. Это локаторы — адреса конкретных элементов на веб-странице.
Аналогия. Представьте, что веб-страница — это многоквартирный дом. Каждая кнопка, каждое поле ввода — это квартира. Локатор — это адрес квартиры: «дом 5, подъезд 2, квартира 14». Без адреса Selenium IDE не знает, куда «постучаться».
Вот три основных типа локаторов, которые вы встретите:
id=...— находит элемент по его уникальному идентификатору. Самый надёжный способ.css=...— находит элемент по стилю или структуре страницы. Гибкий, но чуть сложнее.xpath=...— находит элемент по его «пути» в структуре страницы. Мощный, но для начинающих сложноватый.
На этом уроке вам не нужно писать локаторы самостоятельно — вы будете работать с уже готовым тестом.
Установка Selenium IDE (если ещё не установлен)
Прежде чем перейти к примеру, убедитесь, что у вас установлен Selenium IDE.
Для Google Chrome:
- Откройте браузер Chrome.
- Перейдите в Chrome Web Store: https://chrome.google.com/webstore/
- В строке поиска введите
Selenium IDE. - Нажмите Добавить в Chrome → Добавить расширение.
- После установки в правом верхнем углу браузера появится иконка Selenium IDE (красный кружок с буквой S).
Для Mozilla Firefox:
- Откройте Firefox.
- Перейдите на https://addons.mozilla.org/
- Найдите
Selenium IDEи нажмите Добавить в Firefox.
✅ Проверка: После установки кликните на иконку Selenium IDE в браузере. Должно открыться окно с приветствием и предложением создать новый проект или открыть существующий.
Практический пример: запускаем готовый тест
Шаг 1. Создаём новый проект и открываем Selenium IDE
- Кликните на иконку Selenium IDE в браузере.
- В появившемся окне выберите Create a new project («Создать новый проект»).
- Дайте проекту название, например:
Мой первый тест. - Нажмите OK.
Вы увидите интерфейс Selenium IDE: слева — список тестов, в центре — таблица команд, справа — редактор.
Шаг 2. Создаём тест вручную (по готовым командам)
В левой панели нажмите на + рядом с надписью «Tests» (Тесты). Назовите тест Проверка входа на сайт.
Теперь в центральной таблице добавьте команды по очереди. Для каждой команды нажмите на пустую строку и заполните поля Command, Target, Value:
Команда 1:
Command: open
Target: http://the-internet.herokuapp.com/login
Value: (оставьте пустым)
Команда 2:
Command: type
Target: id=username
Value: tomsmith
Команда 3:
Command: type
Target: id=password
Value: SuperSecretPassword!
Команда 4:
Command: click
Target: css=button[type='submit']
Value: (оставьте пустым)
Команда 5:
Command: assertText
Target: css=.flash.success
Value: You logged into a secure area!
Подсказка: Чтобы добавить новую строку, кликните правой кнопкой мыши в таблице и выберите «Insert command» («Вставить команду»).
Шаг 3. Запускаем тест
Найдите в верхней части интерфейса кнопку ▶️ (треугольник «Воспроизвести»). Нажмите её.
Вы увидите, как Selenium IDE автоматически:
- Открывает браузер и загружает страницу http://the-internet.herokuapp.com/login.
- Вводит имя пользователя
tomsmith. - Вводит пароль
SuperSecretPassword!. - Нажимает кнопку «Login».
- Проверяет, что на странице появился текст об успешном входе.
Весь процесс занимает 3–5 секунд.
Шаг 4. Читаем результат
После завершения теста посмотрите на цвета строк в таблице команд:
- Зелёный — команда выполнена успешно ✅
- Красный — команда провалилась ❌
В нижней части экрана находится лог (журнал событий) — подробное описание того, что произошло на каждом шаге. Вот как выглядит успешный лог:
[info] Executing: | open | http://the-internet.herokuapp.com/login | |
[info] Executing: | type | id=username | tomsmith |
[info] Executing: | type | id=password | SuperSecretPassword! |
[info] Executing: | click | css=button[type='submit'] | |
[info] Executing: | assertText | css=.flash.success | You logged into a secure area! |
[info] Test: Проверка входа на сайт completed successfully
Если бы тест провалился (например, мы ввели неверный пароль), лог выглядел бы так:
[info] Executing: | open | http://the-internet.herokuapp.com/login | |
[info] Executing: | type | id=username | tomsmith |
[info] Executing: | type | id=password | wrongpassword |
[info] Executing: | click | css=button[type='submit'] | |
[error] assertText on css=.flash.success failed:
Expected text: "You logged into a secure area!"
Actual text: "Your username is invalid!"
[info] Test: Проверка входа на сайт FAILED
Разбор провала: Видите, что произошло? Тест ожидал («Expected text») текст «You logged into a secure area!», но на самом деле («Actual text») на странице появился текст «Your username is invalid!». Это означает: либо введены неверные данные, либо в приложении есть баг с авторизацией.
Шаг 5. Намеренно ломаем тест — учимся видеть баг
Теперь попробуем ввести неправильный пароль, чтобы увидеть, как выглядит провальный тест.
Измените команду 3 (пароль):
Команда 3 (изменённая):
Command: type
Target: id=password
Value: неверный_пароль
Запустите тест снова. На этот раз:
- Строка с
assertTextстанет красной. - В логе появится сообщение об ошибке.
- Внизу экрана вы увидите итоговую строку:
1 test(s) failed.
Это — имитация бага. В реальной работе QA-специалист видит такой результат и записывает баг-репорт: «При вводе неверного пароля страница ведёт себя не так, как ожидается».
После эксперимента верните правильный пароль SuperSecretPassword! обратно.
Шаг 6. Сохраняем проект
Нажмите Ctrl + S (или Cmd + S на Mac). Selenium IDE сохранит проект в файл с расширением .side. Этот файл вы можете:
- открыть позже и снова запустить тест;
- показать наставнику или работодателю как пример вашей работы;
- добавить в своё портфолио.
Как анализировать результат теста: чек-лист
После каждого запуска автоматизированного теста задайте себе эти вопросы:
Все ли шаги зелёные?
- Да → тест пройден, функция работает корректно.
- Нет → переходите к пункту 2.
На каком шаге появилась ошибка?
- Прочитайте лог: он указывает точное место сбоя.
Что ожидал тест и что получил на самом деле?
- «Expected» (ожидаемое) vs «Actual» (фактическое) — ключевая пара слов в любом тестировании.
Это баг приложения или ошибка в тесте?
- Если приложение изменилось (например, текст кнопки переименовали), тест может падать из-за устаревших данных — это не баг приложения.
- Если же поведение приложения явно неправильное — это баг.
Если это баг — опишите его по структуре баг-репорта (заголовок, шаги воспроизведения, ожидаемый результат, фактический результат).
Практика
Упражнение 1. Запустите готовый тест и сделайте скриншот результата
Задание:
- Установите Selenium IDE, если ещё не сделали этого.
- Создайте тест
Проверка входа на сайтпо инструкции из раздела «Пример» выше. - Запустите тест.
- Сделайте скриншот экрана с результатом (все строки зелёные).
- Сохраните скриншот — это будет доказательство вашего первого успешного автоматизированного теста.
Как сделать скриншот: на Windows нажмите клавишу
PrtScnили используйте сочетаниеWin + Shift + S. На Mac —Cmd + Shift + 4.
Упражнение 2. Намеренно сломайте тест и опишите результат
Задание:
- В команде
assertTextизмените значение в поле Value сYou logged into a secure area!на любой другой текст, напримерДобро пожаловать!. - Запустите тест.
- Запишите в блокнот или текстовый файл:
- Какая строка стала красной?
- Что написано в логе в поле «Expected»?
- Что написано в поле «Actual»?
- Почему тест провалился — это баг приложения или ошибка в тесте?
- Верните правильное значение и убедитесь, что тест снова проходит.
Упражнение 3. Добавьте шаг выхода из аккаунта
Задание:
После успешного входа на сайте появляется кнопка «Logout» («Выйти»). Расширьте тест новыми командами:
Команда 6:
Command: click
Target: css=.button.secondary.radius
Value: (оставьте пустым)
Команда 7:
Command: assertText
Target: css=.flash.success
Value: You logged out of the secure area!
Запустите обновлённый тест. Если все 7 шагов зелёные — вы успешно автоматизировали полный сценарий: вход и выход из системы. Сохраните проект.
Для любознательных: Попробуйте самостоятельно с помощью инструментов разработчика браузера (нажмите F12 на любой странице) найти
idили другие атрибуты элементов. Правой кнопкой кликните на любой элемент страницы → «Просмотреть код» — и увидите HTML-структуру страницы. Это поможет вам в будущем писать собственные тесты с нуля.
Упражнение 4. Свяжите автоматизированный тест с тест-кейсом
Задание:
Вспомните тест-кейсы, которые вы писали на предыдущих уроках. Возьмите тест-кейс на проверку входа в систему и заполните его итог:
| Поле тест-кейса | Значение |
|---|---|
| ID | TC-001 |
| Название | Успешный вход с валидными данными |
| Предусловие | Пользователь открыл страницу входа |
| Шаги | 1. Ввести логин tomsmith. 2. Ввести пароль SuperSecretPassword!. 3. Нажать «Login». |
| Ожидаемый результат | Отображается сообщение «You logged into a secure area!» |
| Фактический результат | (заполните после запуска теста) |
| Статус | (Passed / Failed) |
| Автоматизирован? | Да — файл Мой первый тест.side |
Заполните поля «Фактический результат» и «Статус» по итогам запуска теста. Это именно то, как работают QA-инженеры в реальных командах.
Итоги урока
- 🔧 Selenium IDE — бесплатный инструмент для записи и воспроизведения тестов в браузере, не требующий знания программирования.
- 📋 Каждый тест состоит из команд: действий (открыть, нажать, ввести) и проверок (
assert,verify). - ✅❌ Результат теста — набор статусов Passed и Failed для каждой команды, плюс подробный лог.
- 🔍 При анализе результата всегда сравнивайте ожидаемое («Expected») с фактическим («Actual») — именно там прячется описание проблемы.
- 🐛 Провальный тест — не катастрофа: это сигнал о возможном баге, который нужно описать в баг-репорте.
- 💼 Сохранённый файл
.sideс вашим тестом — это уже элемент вашего портфолио: реальный артефакт, который можно показать работодателю. - 🔁 Связывайте автоматизированные тесты с тест-кейсами — это профессиональная привычка, которая покажет вашу зрелость как QA-специалиста.
Поздравляем! Вы запустили свой первый автоматизированный тест и научились читать его результаты. Это маленький шаг для курса — но большой шаг для вашей карьеры в QA. Именно с таких практических упражнений начинался путь многих профессиональных инженеров по качеству.