Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
В современной веб-разработке скорость и надежность сочетаются друг с другом: можно быстро выкатывать фичи, но без надлежащего тестирования баги могут проникнуть в прод и задеть реальных пользователей. Именно здесь пригодятся инструменты вроде Selenium IDE — они позволяют автоматизировать работу в браузере без единой строчки кода.
В этой статье вы найдете пошаговое руководство по установке Selenium IDE, узнаете базовые приемы автоматизации и получите практические советы по его применению. Поехали!
Содержание
- Что такое Selenium?
- Что такое Selenium IDE?
- Принцип работы Selenium IDE
- Как установить Selenium IDE
- Как пользоваться Selenium IDE
- Создание первого тест-кейса в Selenium IDE
- 7 советов по работе с Selenium IDE
- Как превратить curl-запрос в тест-кейс с использованием Selenium
- Основные функции Selenium IDE
- Преимущества использования Selenium IDE
- Что такое Selenese?
- Ограничения Selenium IDE
- Заключение
- Часто задаваемые вопросы
Что такое Selenium?
Selenium — это набор бесплатных инструментов для автоматизации действий в браузере. Он в основном используется разработчиками и тестировщиками, чтобы воспроизводить поведение реальных пользователей, например, кликать по кнопкам, вводить данные, переходить между страницами. Selenium помогает находить баги на ранних этапах разработки и обеспечивает контроль качества.
Одно из главных преимуществ Selenium — его гибкость. Он совместим с несколькими языками программирования, такими как Java, Python, C#, Ruby и JavaScript, что позволяет командам писать тесты на любом удобном языке. Selenium одинаково хорошо работает как для локального тестирования, так и для запуска на разных браузерах и платформах, обеспечивая масштабируемость и стабильность автоматизированных тестов.
Что такое Selenium IDE?
Selenium IDE — это простое в использовании расширение для браузера, позволяющее создавать и запускать автотесты без необходимости написания кода. Selenium IDE прост в использовании и подходит как новичкам, так и всем, кто хочет быстро автоматизировать действия с сайтом — переходы по страницам, ввод данных и клики по элементам.

В отличие от Selenium WebDriver, который требует написания кода, Selenium IDE — это визуальный инструмент для разработки и воспроизведения тестов. Он отлично подходит для быстрого создания тестов, регрессионного тестирования и обучения работе с автоматизацией браузера.
Принцип работы Selenium IDE
Selenium IDE использует простой, но эффективный процесс записи и воспроизведения. Когда пользователь взаимодействует с веб-приложением — нажимает кнопки, вводит текст или просматривает страницы — IDE фиксирует каждый шаг в виде команды. Эти команды становятся тестовым сценарием, который можно воспроизвести в любой момент для автоматического повторения тех же шагов. Такой подход позволяет быстро создавать автотесты без необходимости писать код, что делает Selenium IDE особенно удобным для оперативного написания тестов и базовой функциональной проверки.
Как установить Selenium IDE
Selenium IDE представляет собой расширение для веб-браузеров Chrome и Firefox.
Инструкция по установке:
- Откройте браузер (Chrome или Firefox).
- Перейдите в магазин расширений вашего браузера.
- Найдите «Selenium IDE».
- Нажмите «Добавить в Chrome» или «Добавить в Firefox» и подтвердите установку.

Как пользоваться Selenium IDE
После установки вы можете сразу приступить к записи и запуску тестов.
Основные действия:

- Щелкните по значку Selenium IDE на панели браузера для запуска инструмента.

2. Создайте новый проект и дайте ему понятное имя.

3. Укажите базовый URL тестируемого приложения.
4. Нажмите кнопку «Record» и выполните в браузере действия, которые хотите протестировать.
5. Нажмите «Stop», чтобы завершить запись.
6. Просмотрите записанные шаги и запустите тест, чтобы увидеть результаты.
Создание первого тест-кейса в Selenium IDE
Рассмотрим процесс создания простого теста:
- Откройте Selenium IDE и создайте новый проект с именем «Login Test».

- Установите базовый URL

- Нажмите «Record»

- Введите имя пользователя.
- Введите пароль.
- Нажмите кнопку «Login».

- Нажмите «Stop»
- Просмотрите записанные шаги

7 советов по работе с Selenium IDE
- Правильно используйте утверждения (Assertions). Утверждения позволяют убедиться, что приложение ведет себя так, как ожидается. Такие команды, как
assertText,assertElementPresentилиassertTitle, помогают не просто выполнить тест, но и проверить корректность данных и интерфейса. - Организуйте тесты. Группируйте повторяющиеся тест-кейсы в наборы. Это помогает навести порядок, упростить управление большим числом тестов и запускать только нужные сценарии — без выполнения всей библиотеки.
- Параметризируйте тесты. Сделайте свои скрипты более гибкими, передавая входные значения через переменные.Это позволяет запускать одну и ту же логику на разных наборах данных, реализуя data-driven подход без дублирования шагов.
- Правильно используйте методы waitFor. Динамическая загрузка страниц приводит к нестабильной работе тестов. Правильно используйте методы waitFor, такие как
waitForElementPresentилиwaitForText, чтобы убедиться, что элементы готовы к взаимодействию. - Правильно используйте функции отладки. Breakpoints и пошаговое выполнение позволяют понять, где именно и почему тест «падает». Это упрощает отладку и делает тесты надежнее.
- Экспортируйте тесты в код. Вы можете экспортировать сценарии в Java, Python или JavaScript — это упростит интеграцию с CI/CD и профессиональными фреймворками. Это также сокращает разрыв между использованием IDE начального уровня и разработкой на Selenium.
- Расширяйте возможности с помощью плагинов. Найдите и установите совместимые плагины для Selenium IDE. Они позволяют добавлять пользовательские команды, интеграции с другими инструментами и адаптировать IDE под ваши задачи.
Как превратить curl-запрос в тест-кейс с использованием Selenium
Selenium IDE отлично подходит для записи и воспроизведения действий пользователя, но в этой части предлагаем немного отойти от UI-тестирования и сосредоточиться на тестировании API. Существует множество инструментов и подходов, позволяющих быстро создавать тесты на основе curl-запросов — иногда даже без необходимости писать код вручную. Как правило, нужно выполнить три шага:
- Предоставить curl-команду с нужным запросом.
- Указать схему API (например, OpenAPI).
- Сделать приложение доступным для тестирования (например, через ngrok или аналогичные средства).
После этого можно автоматически сгенерировать тест или использовать данные curl-запроса для ручного написания тестового сценария.
Вот пример curl-запроса:
curl -X POST 'https://f468-122-166-253-157.ngrok-free.app/petclinic/api/owners' -H 'Content-Type: application/json' -d '{"firstName":"VisitOwner","lastName":"Test","address":"Visit Street 1","city":"VisitCity","telephone":"8383838383"}'
Теперь на его основе напишем простой API-тест. Пример ниже показывает, как можно проверить корректность ответа от сервера.
const axios = require('axios');
const assert = require('assert');
// The URL of the API
const url = 'https://f468-122-166-253-157.ngrok-free.app/petclinic/api/owners';
// The JSON data to send in the request
const requestBody = {
firstName: "VisitOwner",
lastName: "Test",
address: "Visit Street 1",
city: "VisitCity",
telephone: "8383838383"
};
// Function to make the POST request and validate the response
async function testApiPostRequest() {
try {
// Step 1: Send the POST request using Axios
const response = await axios.post(url, requestBody, {
headers: {
'Content-Type': 'application/json',
},
});
// Step 2: Check if the response status is 201 (created)
assert.strictEqual(response.status, 201, 'Response status is not 201');
// Step 3: Validate the response body
const responseBody = response.data;
assert.strictEqual(responseBody.firstName, "VisitOwner", 'First name mismatch');
assert.strictEqual(responseBody.lastName, "Test", 'Last name mismatch');
assert.strictEqual(responseBody.address, "Visit Street 1", 'Address mismatch');
assert.strictEqual(responseBody.city, "VisitCity", 'City mismatch');
assert.strictEqual(responseBody.telephone, "8383838383", 'Telephone mismatch');
assert.ok(responseBody.id, 'Owner ID is missing');
console.log('API test passed!');
} catch (error) {
console.error('API test failed:', error);
}
}
// Run the API test
testApiPostRequest();
Основные функции Selenium IDE
Запись и воспроизведение действий
Selenium IDE позволяет записывать действия, выполняемые в веб-приложении, и воспроизводить их в виде тестов. Тестовые скрипты легко создаются без написания кода, что позволяет автоматизировать тестирование даже тем, кто не владеет программированием.
Кросс-браузерное тестирование
Большинство распространенных браузеров, таких как Chrome и Firefox, поддерживаются Selenium IDE, что позволяет тестировать веб-приложение в разных средах и заранее выявлять ошибки, зависящие от браузера.
Управляющие конструкции (Control Flow)
Selenium IDE поддерживает конструкции управления потоком — if-else, while, do-while. Это позволяет создавать более гибкие и адаптивные тесты, поведение которых может изменяться в зависимости от условий во время выполнения.
Инструменты отладки
Selenium IDE поддерживает такие функции отладки, как breakpoints и пошаговое выполнение действий. Эти функции помогают находить и устранять ошибки в логике тестов, отслеживая выполнение действий по шагам.
Плагины (расширения)
Среду IDE также можно настраивать с помощью плагинов для добавления дополнительных команд или интеграции с другими инструментами. Таким образом, вы можете адаптировать Selenium IDE под свои индивидуальные задачи тестирования.
Параметры экспорта
Тестовые сценарии можно экспортировать в другие языки программирования, такие как Java, Python или JavaScript. Это облегчает масштабирование и интеграцию с более сложными проектами на базе Selenium.
Преимущества использования Selenium IDE
Простой и удобный интерфейс
Selenium IDE предлагает очень простой и интуитивно понятный интерфейс, который идеально подходит для начинающих пользователей, не имеющих опыта в программировании. Это позволяет им сразу приступить к автоматизации тестов, без необходимости изучения кода.
Быстрое создание теста
Тест-кейсы можно создавать просто просматривая сайт. Это значительно ускоряет процесс написания тестов, что особенно удобно при тестировании новых функций.
Открытый исходный код
Selenium IDE — полностью бесплатный инструмент с открытым исходным кодом и активным сообществом. Это гарантирует регулярные обновления, отличную поддержку и доступ к множеству обучающих материалов.
Возможности интеграции
Несмотря на простоту, Selenium IDE можно интегрировать с более сложными инструментами, например, для тестирования API на стороне сервера. Это означает, что можно выстраивать сквозные цепочки тестирования как фронтенда, так и бэкенда.
Что такое Selenese?
Selenese — это командный язык Selenium IDE, используемый для автоматизации взаимодействия с браузером. Он подобен скрипту, который указывает браузеру, что нужно сделать: нажать кнопку, ввести текст в поле, выбрать значение из выпадающего списка или проверить наличие определенного контента на странице. Наиболее часто используемые команды: click, type, open, verifyText и другие.
Эти команды являются основой каждого тест-кейса, создаваемого в Selenium IDE. Каждое действие, которое вы записываете или вводите вручную, преобразуется в команду Selenium, которую может редактировать и читать даже человек без технического образования. Именно это делает Selenium IDE таким удобным инструментом для автоматизации тестирования.
Примеры команд Selenese
Ниже приведены два простых примера команд, введенных вручную:
Пример 1: Открытие веб-страницы.
seleneseCopyEditCommand: open Target: https://example.com Value:
Что делает: открывает главную страницу example.com.
Пример 2: Ввод текста в поисковую строку.
seleneseCopyEditCommand: type Target: name=q Value: Selenium IDE
Что делает: вводит текст «Selenium IDE» в поисковую строку (например, как у Google).
Ограничения Selenium IDE
Хотя Selenium IDE является отличным инструментом для начала автоматизации тестирования, у него есть некоторые ограничения, о которых следует упомянуть:
Ограниченная поддержка браузеров: Selenium IDE в настоящее время доступен только в виде расширения для Chrome и Firefox. Если нужно провести тестирование в браузерах вроде Safari и Edge, либо на мобильных платформах, стоит обратить внимание на другие инструменты, например, Selenium WebDriver.
Отсутствие поддержки сложной логики: Так как Selenium IDE не требует написания кода, он не поддерживает условные конструкции, циклы или параметризованное тестирование. Для таких задач потребуется использовать Selenium WebDriver вместе с языком программирования.
Тесты, которые легко ломаются: Тесты, созданные в Selenium IDE, легко ломаются при малейших изменениях в интерфейсе — например, при переименовании или перемещении кнопки. Сопровождение таких тестов более трудоемкое и сложное.
Ограниченные возможности интеграции: Selenium IDE не поддерживает интеграцию с CI/CD-пайплайнами, инструментами отчетности и другими системами тестирования. Поэтому он не подходит для масштабируемой автоматизации в рамках DevOps-процессов.
Такие ограничения делают Selenium IDE подходящим для небольших проектов, прототипов или быстрого тестирования, но не для комплексного тестирования на уровне корпоративных систем.
Заключение
Selenium IDE — отличный инструмент для тех, у кого мало опыта в автоматизации тестирования веб-приложений. Простота использования, возможность записи и воспроизведения, а также понятный пользовательский интерфейс делают его удобным как для новичков, так и для опытных тестировщиков, которым нужно быстро создавать прототипы тестов. Хотя Selenium IDE не подходит для сложных сценариев или масштабного кросс-браузерного тестирования, его ценность как обучающего инструмента и базового средства автоматизации не стоит недооценивать.
Комбинируя Selenium IDE с другими инструментами, и переходя в будущем на более продвинутые фреймворки вроде Selenium WebDriver, тестировщики могут построить гибкую и эффективную систему автоматизации. Selenium IDE — это промежуточный этап на пути к профессиональной веб-автоматизации, будь то проверка простой формы входа в систему или создание основы для CI/CD-пайплайна.
Часто задаваемые вопросы
1. Совместим ли Selenium IDE с тестированием мобильных приложений?
Нет, Selenium IDE совместима только с десктопными веб-браузерами, такими как Chrome и Firefox. Для тестирования мобильных приложений можно использовать такие инструменты, как Appium, родственный Selenium.
2. Что такое Selenium WebDriver?
Selenium WebDriver — это инструмент, позволяющий писать код для управления такими браузерами, как Chrome, Firefox или Edge. В отличие от Selenium IDE, ориентированного на запись и воспроизведение действий, WebDriver предоставляет полный контроль над браузером и работает с такими языками программирования, как Java, Python и другими.
3. Что делает Selenium Grid?
Selenium Grid позволяет запускать тесты на нескольких машинах и в нескольких браузерах одновременно. Это отличный способ ускорить работу или провести тестирование в разных средах. Настраивается центральный хаб и подключаются удалённые узлы (nodes).
4. Что произойдет, если интерфейс веб-приложения изменится после записи теста в Selenium IDE?
Если изменяется структура пользовательского интерфейса или идентификаторы элементов, записанные в тесте Selenium IDE, тесты перестают работать. Причина в том, что в записанных командах используются локаторы элементов. Чтобы избежать ошибок, используйте надежные локаторы и периодически обновляйте тесты, чтобы они могли учитывать изменения пользовательского интерфейса.
5. Подходит ли Selenium IDE для использования в CI/CD-пайплайнах?
Selenium IDE изначально не предназначен для использования в CI/CD-процессах. Тем не менее, тесты, созданные в Selenium IDE, можно экспортировать в код и интегрировать в пайплайн с помощью Jenkins, GitHub Actions или GitLab CI.
Перевод статьи «Getting started with Selenium IDE».
Пингбэк: Почему я делаю ставку на LLM для UI тестирования
Пингбэк: Автоматизированное интеграционное тестирование