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

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

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

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

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

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

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

Тестирование на основе XPath

Вариант - 7

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

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

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

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

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

2026

Цель.

Получение практических навыков по тестированию веб-элементов на основе XPath-локаторов.

Задачи.

1. Определить XPath-локаторов веб-элемента средствами DevTools.

2. Осуществить поиск веб-элементов с помощью XPath-локаторов.

3. Реализовать фильтрацию элементов на основе функций, операторов срав-

нения, логических операций, которые реализованы в языке XPath.

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

Для выполнения практической работы будем использовать браузер Safari.

Нахождение программного кода веб-элемента на основе XPath-пути.

В данном разделе продемонстрировано нахождение элементов с помощью полных и простых XPath-путей, полученных встроенными средствами браузера (DevTools).

Абсолютный XPath-путь.

Был выбран элемент на странице и через контекстное меню DevTools скопирован полный XPath-путь: /html/body/main/div[2]/div/section/div[2]/img

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

Скриншот 1. Абсолютный XPath-путь

Относительный XPath-путь.

Для этого же элемента был скопирован простой (относительный) XPath: //*[@id="patrick"]

Выполним поиск по относительному пути. Он позволяет искать элементы в любом месте веб-страницы.

Скриншот 2. Поиск по относительному XPath-пути

Поиск веб-элементов по атрибутам, индексам и с использованием функций.

В этом разделе выполнены различные виды фильтрации выборки узлов DOM.

Выбор всех элементов на веб-странице.

С помощью подстановочного символа * осуществлен выбор всех элементов на текущей веб-странице. В строке поиска DevTools видно общее количество найденных узлов.

Скриншот 3. Выбор всех элементов на веб-странице

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

Был осуществлен поиск элементов с использованием предикатов по атрибутам class и id.

Запрос по классу: //div[@class='imageContainer box-shadow']

Найдены все контейнеры изображений, имеющие указанный класс.

Скриншот 4. Результаты поиска элементов по классу

Запрос по ID: //img[@id='patrick']

Найдено конкретное изображение по его уникальному идентификатору.

Скриншот 5. Результаты поиска по ID

Поиск элемента коллекции по порядковому номеру.

Запрос: //div[@class="gallery"]/div/section/div[3]

Выполнена фильтрация коллекции. Запрос находит элемент с классом gallery, переходит к его потомкам и выбирает строго третий элемент div.

Скриншот 6. Результаты поиска элемента коллекции по порядковому номеру

Использование встроенных функций XPath.

В запросах применены функции text() и last()

Запрос с функцией text(): //h1[text()="Патрик Стар"]

Функция позволила найти элемент заголовка строго по его текстовому содержимому.

Скриншот 7. Результаты поиска по текстовому содержимому

Запрос с функцией last(): /html/body/main/div/div/section/div[last()]/img

Функция last() применена для нахождения последней карточки (div) в коллекции элементов на странице.

Скриншот 8. Результаты поиска последней карточки в коллекции элементов

Сложный запрос с применением логических операций.

Запрос: //img[@name="squidward" or @name="sponge-bob"]

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

Скриншот 9. Результаты сложного поиска с применение оператора OR

Вывод.

В ходе выполнения практической работы были успешно достигнуты поставленные цели: получены и закреплены практические навыки тестирования веб-элементов на основе XPath-локаторов методом «белого ящика». В процессе работы были освоены механизмы поиска элементов в структуре DOM документа средствами браузера DevTools.

Мы научились составлять как абсолютные пути от корневого узла, так и относительные запросы, которые являются более гибкими при изменении структуры страницы. На практике были отработаны навыки применения предикатов для фильтрации узлов по значениям различных атрибутов (id, class, name), а также по индексу элемента внутри коллекции. Одной из трудностей при выполнении работы было понимание синтаксиса встроенных функций и объединения условий, однако применение функций text(), last() и логических операторов позволило решить проблему создания сложных и точных запросов для динамических элементов. Полученные навыки критически важны для дальнейшей автоматизации тестирования пользовательских интерфейсов.

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

1. Документация на портале от консорциума 3WW URL: https://www.w3schools.com/xml/xpath_syntax.asp (дата обращения 24.05.2026).

2. Обучающие материалы URL: https://mellarius.ru/xpath (дата обращения 24.05.2026).

3. XPath примеры запросов B HTML для парсинга сайта. URL: https://habr.com/ru/articles/753332/ (дата обращения 24.05.2026).

4. Учебник по XPath. URL: https://coderlessons.com/tutorials/xml-tekhnologii/uchitsia-xpath/xpath-vyrazhenie (дата обращения 24.05.2026).

5. XPath - быстрый гайд. URL: https://testengineer.ru/xpath-quick-guide/ (дата обращения 24.05.2026).

6. Назина Ольга. CSS, XPath: локаторы или селекторы? Разбираемся в терминах. URL: https://okiseleva.blogspot.com/2024/05/css-xpath.html (дата обращения 24.05.2026) .

7. Материалы курсы «Автоматизация тестирования с помощью Selenium и Python». URL: https://stepik.org/course/575/ (дата обращения 24.05.2026).

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