Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5

.docx
Скачиваний:
0
Добавлен:
16.05.2025
Размер:
510.94 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

Кафедра 41

ПРЕПОДАВАТЕЛЬ

Доцент, канд. техн. наук

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

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

Лабораторная работа №5

РАЗРАБОТКА СЦЕНАРИЯ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ В SELENIUM IDE

по курсу: Программная инженерия

СТУДЕНТКА ГР. №

Z0411

29.01.25

М. В. Карелина

номер группы

подпись, дата

инициалы, фамилия

Номер студенческого билета: 2020/3477

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

2025

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

Для достижения поставленной цели требуется решить следующие задачи:

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

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

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

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

Для начала установим на компьютер браузерное расширение Selenium IDE и убедимся в том, что оно работает (Рисунок 1).

Рисунок 1 - Установленное расширение Selenium IDE в браузере

Для начала проведем позитивное тестирование на учебном веб-приложении.

Таблица 1 - Сценарий позитивного тестирования

№ п.п.

Последовательность действий

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

1

Открыть приложение в браузере https://qa-test-selectors.netlify.app/

Приложение открыто

2

Выбрать 7 вариант

Откроется окно с персонажами Губки боба

3

Проверить первый текст

Загружен текст с значением «Сэнди Чикс»

4

Проверить третий текст

Загружен текст с значением «Патрик Стар»

5

Закрыть приложение в браузере

Приложение закрыто

Начнем запись Selenium IDE и запишем все действия. Микрорекордер сделал следующие записи (Рисунок 2).

Рисунок 2 - Записи рекордера Selenium IDE

Запустим тестовый сценарий и убедимся, что он успешно завершен (Рисунок 3).

Рисунок 3 - Завершение теста

Теперь проведем негативное тестирование, поменяв параметры.

Таблица 2 - Сценарий негативного тестирования

№ п.п.

Последовательность действий

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

1

Открыть приложение в браузере https://qa-test-selectors.netlify.app/

Приложение открыто

2

Выбрать 7 вариант

Откроется окно с персонажами Губки боба

3

Кликнуть по первому изображению

Загружена картинка с id= «sheldon»

5

Изменить значение value с Cквидвард Тетнтаклз на Губка Боб

Первый элемент не имеет value = «Губка Боб», тест провален

6

Закрыть приложение в браузере

Приложение закрыто

Результат на Рисунке 4.

Рисунок 4 - Негативное тестирование

Ожидаемое значение «Губка Боб» не соответствует фактическому «Сквидвард Тентаклз». Если посмотреть на CSS-локатор, то он показывает, что найден первый элемент коллекции css=.imageContainer:nth-child(6) > h1.

Теперь перейдем к тестированию не учебного веб-ресурса.

В качестве web-приложения для тестирования был выбран сайт базы аниме AnimeGo https://animego.me/anime, на котором можно ознакомиться с информаций по аниме/манге, также выставить оценку или добавить в группу. Также тут можно добавить аниме или мангу в закладки.

Скриншот главной страницы представлен на Рисунке 5.

Рисунок 5 - Главная страница

В качестве первого тестового сценария тестировщик должен открыть страницу с аниме веб-приложения, отфильтровать по рейтингу затем нажать на поле поиска и ввести запрос «мастер», после чего нажать на поиск. В появившемся результате поиска нажать карточку аниме «Мастер Муси» 2005, затем нажать на карточку главного героя «Гинко», а также проверить текст заголовка. Описание тестового сценария в табличном виде представлен в таблице 3.

Таблица 3 - Сценарий тестирования

№ п.п.

Последовательность действий

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

1

Открыть приложение в браузере https://animego.me/anime

Приложение открыто

2

Нажать на кнопку «Сортировать по»

Сортировка предложить несколько вариантов

3

Выбрать «рейтинг»

Аниме отсортируются по рейтингу по убыванию

4

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

Курсор в поле ввода поиска начнёт мигать и ожидать ввода данных от пользователя, откроются предлагаемые варианты

5

Ввести в поисковое поле «мастер»

Поиск предложит несколько вариантов

6

Нажать на аниме Мастер Муси 2005

Откроется окно фильма

7

Проверить подпись у первого актера в списке

Там будет текст «Гинко»

Нажмем на запуск. Тестирование прошло успешно, его результат на Рисунке 6.

Рисунок 6 - Результаты тестирования

Сохраним автосгенерированный программный код в файл. Полный текст кода будет находиться в приложении.

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

Поэтому можно сказать, что мы успешно провели дымовое тестирование.

Вывод

В результате лабораторной работы мы научился пользоваться средством Selenium IDE и смогли разработать автоматизированный тест.

По сравнению с другими лабораторными работами по курсу «Программная инженерия», эта работа оказалась самой трудозатратной, так как не все ресурсы удобны для обучения тестированию. Так, например, сайт РЖД при начале записи тестирования вводил все мои данные (логин, пароль, юзернейм) в код Selenium IDE.

Думаю, что этот инструмент может быть полезен людям, которые работают над автотестами, хотя там чаще всего используется Python, фреймворк Robot. Для конечного пользователя этот инструмент будет довольно сложный.

Приложение

{

"id": "b43f6717-9ce2-4a96-ac59-fd9f13598bd0",

"name": "444",

"commands": [{

"id": "f3dc1441-e251-4a2f-9bac-0537adb88d08",

"comment": "",

"command": "open",

"target": "https://animego.me/anime",

"targets": [],

"value": ""

}, {

"id": "e19f6782-4704-44d9-a6f5-d839ef79dcf5",

"comment": "",

"command": "setWindowSize",

"target": "1552x840",

"targets": [],

"value": ""

}, {

"id": "9f2e4f72-daa9-42db-99f4-7f6232806c46",

"comment": "",

"command": "click",

"target": "id=sorter-sort",

"targets": [

["id=sorter-sort", "id"],

["css=#sorter-sort", "css:finder"],

["xpath=//button[@id='sorter-sort']", "xpath:attributes"],

["xpath=//div[@id='sorter']/div/div/div[3]/button", "xpath:idRelative"],

["xpath=//div[3]/button", "xpath:position"]

],

"value": ""

}, {

"id": "27081b6a-365d-4a8e-b8af-0d30d2b4c720",

"comment": "",

"command": "click",

"target": "css=.sortable:nth-child(3)",

"targets": [

["css=.sortable:nth-child(3)", "css:finder"],

["xpath=//div[@id='sorter']/div/div/div[3]/div/span[3]", "xpath:idRelative"],

["xpath=//span[3]", "xpath:position"],

["xpath=//span[contains(.,'Рейтингу')]", "xpath:innerText"]

],

"value": ""

}, {

"id": "82a2035a-1bd9-4a08-a244-86c8b01daed4",

"comment": "",

"command": "click",

"target": "id=navbar-search",

"targets": [

["id=navbar-search", "id"],

["css=#navbar-search", "css:finder"],

["xpath=//a[@id='navbar-search']", "xpath:attributes"],

["xpath=//a[contains(@href, '#')]", "xpath:href"],

["xpath=//ul[2]/li[2]/a", "xpath:position"],

["xpath=//a[contains(.,' ')]", "xpath:innerText"]

],

"value": ""

}, {

"id": "84a283f7-36d0-432c-bc5a-20bcd2ea3205",

"comment": "",

"command": "type",

"target": "name=q",

"targets": [

["name=q", "name"],

["css=.form-control-sm > .form-control-reset", "css:finder"],

["xpath=//input[@name='q']", "xpath:attributes"],

["xpath=//input", "xpath:position"]

],

"value": "мастер"

}, {

"id": "d2190bc1-4084-4ee0-809d-5a1757513734",

"comment": "",

"command": "sendKeys",

"target": "name=q",

"targets": [

["name=q", "name"],

["css=.form-control-sm > .form-control-reset", "css:finder"],

["xpath=//input[@name='q']", "xpath:attributes"],

["xpath=//input", "xpath:position"]

],

"value": "${KEY_ENTER}"

}, {

"id": "081be6d4-858a-4c81-9dcb-f30ed25b8f27",

"comment": "",

"command": "click",

"target": "css=.animes-grid-item:nth-child(1) .d-block:nth-child(2) > .anime-grid-lazy",

"targets": [

["css=.animes-grid-item:nth-child(1) .d-block:nth-child(2) > .anime-grid-lazy", "css:finder"],

["xpath=//main[@id='content']/div/div[3]/div[3]/div/div/div/div/a/div", "xpath:idRelative"],

["xpath=//a/div", "xpath:position"]

],

"value": ""

}, {

"id": "10743bf9-41d8-43d7-a41c-fa57134ecb3d",

"comment": "",

"command": "click",

"target": "css=div > span:nth-child(1) > a > span",

"targets": [

["css=div > span:nth-child(1) > a > span", "css:finder"],

["xpath=//main[@id='content']/div/div/div[2]/div[3]/dl/dd[17]/div/span/a/span", "xpath:idRelative"],

["xpath=//div/span/a/span", "xpath:position"]

],

"value": ""

}, {

"id": "351abd58-be0f-421a-b262-47c7e87b32ab",

"comment": "",

"command": "verifyText",

"target": "css=.h1",

"targets": [

["css=.h1", "css:finder"],

["xpath=//main[@id='content']/div/div[2]/div/header/h1", "xpath:idRelative"],

["xpath=//h1", "xpath:position"],

["xpath=//h1[contains(.,'Гинко')]", "xpath:innerText"]

],

"value": "Гинко"

}]

}],

"suites": [{

"id": "dd700506-2cc4-4376-92eb-14c1b1e42721",

"name": "Default Suite",

"persistSession": false,

"parallel": false,

"timeout": 300,

"tests": ["34a3d2ee-fd80-4fa2-8a7f-87da2010b2ad"]

}],

"urls": ["https://qa-test-selectors.netlify.app/", "https://v5.vost.pw/", "https://jut.su/", "https://animego.me/anime"],

"plugins": []

}

Соседние файлы в предмете Программная инженерия