Скачиваний:
0
Добавлен:
14.06.2026
Размер:
2.6 Mб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Цифровая Кафедра

ПРАКТИЧЕСКАЯ РАБОТА №5

Разработка сценария автоматизированного тестирования в Selenium IDE

Студенты гр. 4404

Комарницкий М. С. Коншин М. В. Кудрявцев С. А.

Преподаватель

Турнецкая Е.Л.

Санкт-Петербург

2026

Цель.

Получение практических навыков по автоматизированному тестированию с помощью Selenium IDE.

Задачи.

1. Установить браузерное расширение Selenium IDE.

2. Выполнить упражнения для знакомства с возможностями Selenium IDE

при тестировании клиентской части веб-приложений.

3. Провести тестирование интерфейса самостоятельно выбранного веб-при-

ложения.

4. Зафиксировать результат обучения в отчете

Выполнять практическую работы мы будем в браузере Firefox.

Выполнение базовых упражнений.

В ходе выполнения работы было установлено браузерное расширение Selenium IDE.

Скриншот 1. Установленное расширение Selenium

Для ознакомления со средой Selenium IDE было проведено тестирование статической веб-страницы учебного приложения test-selector-tree.netlify.app. В соответствии с заданием, для тестирования был выбран второй элемент коллекции (Каштан), а не первый. Был записан тестовый сценарий, в котором осуществлялся клик по элементу, а затем проводилась проверка наличия соответствующего текста с помощью команды verify text.

Скриншот 2. Запись тестового сценария в среде Selenium IDE

Изменение параметра поиска.

В процессе отладки были изменены параметры поиска веб-элемента: стандартный локатор был заменен на “css=#chestnut”, предлагаемого средой Selenium IDE. Тест был запущен повторно и завершился успешно.

Скриншот 3. Успешное выполнение теста с измененным локатором элемента

Негативное тестирование.

Также было проведено негативное тестирование. Для этого в команде verify text ожидаемое значение было умышленно изменено на некорректное. Запуск сценария ожидаемо привел к ошибке проверки, что зафиксировано в журнале логирования.

Скриншот 4. Выполнение негативного тестирования

Основное задание. Тестирование самостоятельно выбранного веб-приложения.

Предметная область: ВКонтакте (URL: https://vk.com/) — российская социальная сеть, предназначенная для общения, обмена медиаконтентом и создания сообществ. Для тестирования выбрана публичная стартовая страница авторизации.

Техники и методы тестирования:

Метод «черного ящика» (тестирование без знания внутренней структуры кода).

Дымовое тестирование (проверка основной работоспособности критически важных ссылок).

Тестирование графического интерфейса (GUI).

Тестовый сценарий:

Действие пользователя

Ожидаемый результат

Открыть веб-приложение https://vk.com/ в браузере

Приложение (стартовая страница) успешно открыто

Проверить наличие заголовка страницы (Title)

В заголовке отображается текст «Добро пожаловать ВКонтакте»

Нажать на ссылку «Правила» в подвале сайта

Осуществлен переход на новую страницу

Проверить наличие текста на открывшейся странице

Отображается текст с правилами пользования сайтом

Нажать на логотип «ВКонтакте» в левом верхнем углу

Осуществлен возврат на стартовую страницу

Тестирование веб-приложения ВКонтакте было успешно проведено.

Скриншот 5. Логи выполненного теста

Скриншот 6. Сообщение об успешном выполнении теста

Вывод.

В ходе выполнения практической работы были успешно освоены базовые принципы автоматизированного тестирования клиентской части веб-приложений с использованием среды Selenium IDE. Было установлено соответствующее браузерное расширение и изучен его инструментарий.

На этапе ознакомления выполнено тестирование статического учебного веб-ресурса. В процессе отладки были отработаны навыки изменения локаторов (параметров поиска веб-элементов), а также проведено негативное тестирование, позволившее на практике оценить реакцию системы на заведомо некорректные ожидаемые значения (ошибка проверки была успешно зафиксирована в логах).

Основным этапом работы стала разработка собственного тестового сценария для динамического веб-приложения (стартовой страницы социальной сети ВКонтакте). Был применен метод «черного ящика» и элементы дымового тестирования. Сценарий включил в себя проверку наличия ключевых заголовков и навигацию по ссылкам. В результате сгенерирован работоспособный автоматизированный тест, код которого выгружен и прикреплен в приложении к отчету. Трудности, возникавшие при привязке к динамическим элементам интерфейса, были успешно решены путем ручного подбора надежных локаторов. Цель работы достигнута в полном объеме.

Список использованных источников.

1. Руководство по Selenium IDE URL: https://www.selenium.dev/selenium-ide/docs/en/api/commands (дата обращения: 25.05.2026)

2. Chrome DevTools: основные инструменты и полезные функции URL: https://skillbox.ru/media/code/chto-mozhno-delat-v-chrome-devtools-5-poleznykh-funktsiy-dlya-nachinayushchikh/ (дата обращения: 25.05.2026)

3. Selenium IDE. URL: https://www.selenium.dev/selenium-ide/ (дата обращения: 25.05.2026)

ПРИЛОЖЕНИЕ.

# Generated by Selenium IDE

import pytest

import time

import json

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.support import expected_conditions

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

class TestVktest():

def setup_method(self, method):

self.driver = webdriver.Firefox()

self.vars = {}

def teardown_method(self, method):

self.driver.quit()

def wait_for_window(self, timeout = 2):

time.sleep(round(timeout / 1000))

wh_now = self.driver.window_handles

wh_then = self.vars["window_handles"]

if len(wh_now) > len(wh_then):

return set(wh_now).difference(set(wh_then)).pop()

def test_vktest(self):

self.driver.get("https://vk.com/")

self.driver.set_window_size(693, 693)

assert self.driver.title == "ВКонтакте | Добро пожаловать"

self.vars["window_handles"] = self.driver.window_handles

self.driver.find_element(By.LINK_TEXT, "Правила").click()

self.vars["win1251"] = self.wait_for_window(2000)

self.driver.switch_to.window(self.vars["win1251"])

assert self.driver.find_element(By.CSS_SELECTOR, ".wikiSubHeader:nth-child(2)").text == "Правила пользования Сайтом ВКонтакте"

self.driver.find_element(By.CSS_SELECTOR, ".Logo__root--gvE34").click()

Соседние файлы в папке Введение в тестирование веб-приложений