- •ВВЕДЕНИЕ
- •1. Организация процесса тестирования
- •2. Разработка тестовых мероприятий
- •3. Тестирование клиентской части веб-приложения
- •3.1 Тестирование совместимости
- •3.2 Тестирование адаптивности
- •3.3 Тестирование верстки
- •3.4. Технический аудит
- •4. Тестирование сетевых подключений
- •7. Применение искусственного интеллекта в тестировании
- •ЗАКЛЮЧЕНИЕ.
- •Список использованных источников.
4. Тестирование сетевых подключений
Тестирование сетевых подключений проводилось при помощи встроенных инструментальных средств веб-разработчика DevTools . Был произведен анализ загрузки веб-страницы, где отображены сетевые запросы, которые делает клиентская часть к серверу.
С помощью параметров фильтрации было выбрано отображение только загруженных изображений (Img). Среди отфильтрованных запросов был выбран один элемент (изображение), для которого проведен детальный анализ. Полученные ответы зафиксированы на скриншотах .
Во вкладке Headers (Заголовки) были определены ключевые параметры запроса:
•Тип подключения: безопасное подключение HTTPS .
•Конкретный URL тестируемого элемента .
•Метод получения информации: GET .
•Код состояния загрузки (Status Code): 200 OK, что говорит об успешной обработке запроса сервером .
Также на этой вкладке были проанализированы заголовки запросов и ответов (Request Headers и Response Headers), включая информацию о типе контента и кэшировании .
15
Рис. 12. Вкладка «Headers» тестируемого элемента
Во вкладке Preview выполнен предварительный просмотр полученного элемента. Поскольку тестируемым элементом является изображение, во вкладке Response (Тело ответа) HTML-код отсутствует .
Рис. 13. Вкладка «Preview» тестируемого элемента
16
Во вкладке Initiator (Инициатор) определен источник, который инициировал загрузку данного изображения (CSS-файл или непосредственно HTML-документ) .
Рис. 14. Вкладка «Initiator» тестируемого элемента
Во вкладке Timing (Тайминги) были проанализированы данные о скорости загрузки элемента, а именно: длительность отправления запроса,
время ожидания ответа от сервера (TTFB) и время скачивания самого контента .
17
Рис. 15. Вкладка «Timing» тестируемого элемента
Во вкладке Cookies была изучена информация о сохраняемых файлах cookie . Установлено, что элементы используют единый домен сайта и обладают параметрами безопасности (secure) .
Рис. 16. Вкладка «Cookies» тестируемого элемента
18
5. Определение элементов автоматизации тестирования на основе
локаторов
С помощью инструментов веб-разработчика (вкладка Elements)
были определены 5 различных веб-элементов на странице с использованием CSS-локаторов и XPath, необходимых для дальнейшей автоматизации.
Были подобраны следующие уникальные локаторы:
1.Главный логотип (CSS): a.logo img
2.Пункт меню "Продукты" (XPath): //a[contains(text(),
'Продукты')]
3.Строка поиска (CSS): input[name="s"]
4.Заголовок первого уровня (XPath): //h1
5.Кнопка "Контакты" (CSS): .contact-btn
Поиск элементов осуществлялся через встроенную панель поиска
DOM-дерева браузера. Результат успешного нахождения элемента по локатору представлен на рисунке 17.
Рис. 17. Нахождение веб-элемента с использованием локатора
19
6.Разработка сценария автоматизированного тестирования в
Selenium IDE
Для автоматизации тестовых мероприятий использовано браузерное расширение Selenium IDE. В процессе разработки сценария была выявлена техническая особенность тестируемого ресурса: веб-приложение построено с использованием блоков конструктора Tilda (в частности, элемента t985__input для строки поиска). Встроенные JS-скрипты платформы перехватывают события ввода клавиатуры, из-за чего стандартная команда
Selenium type или sendKeys завершается ошибкой n.createEvent(...).initKeyEvent is not a function.
В связи с этим конфликтом технологий, для выполнения требований по автоматизации (без инъекции кастомного JavaScript) был разработан альтернативный, стабильный сценарий дымового тестирования. Он базируется на безопасных навигационных элементах веб-приложения.
Разработанный автотест включает в себя открытие сайта, навигацию по внутренним разделам («Мероприятия», «Статьи и новости», «Проекты»)
и возврат на главную страницу через клик по логотипу компании.
Проведенное тестирование является проверкой критического пути взаимодействия пользователя с контентом.
Шаги разработанного альтернативного сценария представлены в таблице 2.
Таблица 2 – Сценарий автоматизированного тестирования
|
№ |
|
|
Команда |
|
|
Локатор / Значение |
|
|
Ожидаемый результат |
|
|
|
|
|
|
|
|
|
||||
|
|
|
(Действие) |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
open |
|
https://energy.exponenta.ru/ |
|
Главная страница |
||||
|
|
|
|
полностью загружена |
|||||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
2 |
|
|
set window |
|
1400x747 |
|
Установлен требуемый |
||||
|
|
size |
|
|
размер окна браузера |
||||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
20
|
№ |
|
|
Команда |
|
|
Локатор / Значение |
|
|
Ожидаемый результат |
|
|
|
|
|
|
|
|
|
||||
|
|
|
(Действие) |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
click |
|
linkText=Мероприятия |
|
Осуществлен переход в |
||||
|
|
|
|
раздел мероприятий |
|||||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
click |
|
linkText=Статьи и новости |
|
Осуществлен переход в |
||||
|
|
|
|
раздел новостей |
|||||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
click |
|
linkText=Проекты |
|
Осуществлен переход в |
||||
|
|
|
|
раздел проектов |
|||||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
6 |
|
|
click |
|
css=.t228__imglogo |
|
Успешный возврат на |
||||
|
|
|
(Логотип) |
|
главную страницу |
||||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
В ходе выполнения автотеста программный код был отлажен, все шаги успешно пройдены. Результаты выполнения сценария в среде
Selenium IDE подтверждены скриншотами на рисунках 18, 19 и 20.
Фрагмент программного кода автотеста вынесен в Приложение А.
Рис. 18. Сценарий автоматизированного тестирования в Selenium IDE
21
Рис. 19. Отладка и выполнение сценария автотеста
Рис. 20. Лог успешного прохождения автотеста
22
