Скачиваний:
0
Добавлен:
14.06.2026
Размер:
1.02 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() и логических операторов позволило решить проблему создания сложных и точных запросов для динамических элементов. Полученные навыки критически важны для дальнейшей автоматизации тестирования пользовательских интерфейсов.

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