Разделы портала

Онлайн-тренинги

.
Демо-сайты для практики тест-автоматизации
19.05.2022 00:00

Автор: Энди Найт (Andy Knight)
Оригинал статьи
Перевод: Ольга Алифанова

Одна из самых больших проблем на пути становления отличным автоматизатором – это практика. Тестирование – это настолько же искусство, насколько и наука. Определение, где добавлять явные ожидания, как создавать устойчивые локаторы, и почему нужно проверять этот элемент, а не другой, требует времени. Обучение также требует наличия приложений со специфическими элементами или конечными точками, чтобы проверить определенные операции. К сожалению, при огромном количестве ресурсов по обучению автоматизации (вроде Test Automation University) количество публичных демо-сайтов, на которых можно попрактиковаться, практически ничтожно. Я с трудом нашел нравящиеся мне, и люди часто просят меня порекомендовать такие площадки.

Какие демо-сайты стоит использовать?

Ниже – список демо-сайтов, найденных мной через онлайн-поиск или рекомендации друзей. Многие из них входят в другие списки "Топ-N сайтов для тестирования". Мой список создан не только с целью сбора ссылок на популярные демо-сайты, но и как рекомендация по их использованию.

Типы сайтов:

  • Web UI – выглядит как реальный веб-сайт
  • Web UI элементы – обучающие страницы, демонстрирующие типы веб-элементов
  • Mobile UI – выглядит как реальный мобильный сайт
  • API – публичный API для тестирования
  • DIY – "сделай сам", нужно создать и настроить сайт самостоятельно

Демо-сайт

Тип

Описание

ParaBank

Web UI, API

Онлайн-банк от Parasoft с логином и REST/SOAP API. Если вы запускаете продукт локально, используя исходный код, можно получить доступ к базе данных.

Restful Booker

Web UI, API

Онлайн-сайт для бронирования гостиниц от Марка Уинтерингэма. Фронтэнд – приложение React (код), а бэкэнд – REST API (код)

Automation Practice Website

Web UI

Базовый онлайн-магазин с опциональным логином от SeleniumFramework.com. Отличный сайт для примеров тестов web UI.

Demoblaze

Web UI

Базовый онлайн-магазин с опциональным логином от BlazeMeter. Отличный сайт для примеров тестов web UI.

Swag Labs

Web UI

Базовый онлайн-магазин с обязательным логином от Sauce Labs. Отличный сайт для примеров тестов web UI.

Applitools demo site

Web UI

Небольшой сайт со страницей логина и домашней страницей от Applitools. Сравните со второй версией для визуального тестирования.

Automation Bookstore

Web UI

Одностраничный сайт для динамического поиска книг. Хорош для тестирования отзывчивой верстки в коротких демо.

JPetStore Demo

Web UI

Магазин домашних животных от MyBatis на основе MyBatis 3, Spring 3, и Stripes (код).

GlobalSQA Banking Project

Web UI

Базовое банковское приложение с логином через выпадающее меню и простыми страничками от GlobalSQA.

Gatling Computers Database

Web UI

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

CandyMapper

Web UI

Сайт на тему Хэллоуина от Пола Гроссмана со страшными багами. Есть также вторая версия, исправленная.

OWASP Juice Shop

DIY Web UI

Тестовый сайт, полностью написанный на JavaScript с использованием Node.js, Express и Angular. Специально создан для тестирования проблем безопасности.

Cypress Real-World App

DIY Web UI

Муляж приложения оплаты от Cypress, предназначенный для демонстрации реального Cypress-тестирования. Можно использовать для других задач.

RealWorld example apps

DIY Web UI

Одно демо-приложение, внедренное на разных языках и фреймворках. Не создано для тестирования, но может для него использоваться.

the-internet

Web UI элементы

Сайт от Дейва Хеффнера и Elemental Selenium с рядом четких примеров веб-элементов и взаимодействий.

Selenium Test Pages

Web UI элементы

Сайт с несколькими страничками, дающими более глубокие примеры по сравнению с the-internet.

LetCode

Web UI элементы

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

DemoQA

Web UI элементы

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

Ultimate QA Automation Practice

Web UI элементы

Набор богатых для практики страниц от Ultimate QA.

UI Test Automation Playground

Web UI элементы

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

SelectorsHub Practice Page

Web UI элементы

Страница для практики от SelectorsHub для взаимодействия с различными типами веб-элементов.

WebDriverUniversity.com

Web UI элементы

Еще один набор обучающих страниц с элементами, с которыми можно взаимодействовать.

Sauce Labs Native Sample Application

DIY Mobile UI

Мобильное приложение от Sauce Labs для Android и iOS, очень похожее на сайт Swag Labs.

JSONPlaceholder

API

Публичный REST API для генерации фейковых данных из набора предопределенных источников. Следуйте руководству, чтобы узнать, как делать запросы.

Swagger Petstore

API

Публичный REST API от Swagger для тестирования CRUD-операций над данными магазина домашних животных.

Public APIs

API

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

Device Registry Service

DIY API

Flask-приложение, которое я разработал для обучения тестированию REST API. Включает приложение и автоматизированные API-тесты, которые можно локально запускать.

Best Buy API Playground

DIY API

Демо-сервис REST API на основе JavaScript от Best Buy.

Мои рекомендации

Выше перечислено очень много сайтов. Ниже – те, которые рекомендую лично я.

  • Нужен сайт, где есть и web UI, и API? ParaBank или Restful Booker!
  • Нужен сайт, похожий на настоящий? Automation Practice Website!
  • Нужно продемонстрировать визуальное тестирование? Applitools demo site!
  • Нужно продемонстрировать уязвимости безопасности? OWASP Juice Shop!
  • Нужно попрактиковаться во взаимодействии с определенными элементами? the-internet!
  • Нужен API, наполненный данными? JSONPlaceholder!
  • Нужно научиться тестировать REST API? Device Registry Service!

Конечно, остальные сайты тоже хороши, поэтому они и попали в список!

Зачем морочиться с "муляжами" сайтов?

Возможно, вы задаетесь вопросом, зачем нам демо-сайты. Почему бы просто не использовать настоящие сайты? Демо-сайты и "муляжи" сайтов соответствуют ряду потребностей, которые не покрываются реальными сайтами:

  • Демо-сайты постоянны. Они внедрены определенным способом и затем не меняются. Можно быть уверенным, что тесты всегда сработают на них.
  • Демо-сайты зачастую проще реальных сайтов. Они не так пугают новичков.
  • Демо-сайты иногда создаются для обучения. Если они часть обучающего материала, автор может добавлять туда функции для демонстрации определенных концепций.
  • Демо-сайты безопаснее для публикаций статей, обучающих материалов и книг. Письмо статично, поэтому любые сайты, на которые ссылается книга, тоже должны быть статичными. Реальные сайты изменчивы.
  • Реальные сайты могут требовать принять пользовательское соглашение, запрещающее автоматизированные запросы. Некоторые даже душат или блокируют запросы, если подозревают, что они отправлены "ботом".
  • Реальные сайты также могут подразумевать юридические и копирайтные заморочки, особенно если компания использует их для размещения собственного контента.

Ограничения демо-сайтов

К сожалению, у демо-сайтов есть ограничения:

  • Демо-сайты могут быть слишком простыми. В них может не быть длинных сценариев или реальных данных. Неактивные элементы, кажущиеся реальными, могут раздражать.
  • Демо-сайты могут быть не созданы для масштабирования. Нагрузка запросами или параллельное тестирование могут сломать их.
  • Демо-сайты могут выглядеть низкокачественными вне зависимости от того, правда это или нет. Иногда их быстро создают для тестирования, не вдаваясь в детали так, как с реальными сайтами.
  • Демо-сайты со значительным уровнем брендирования могут не подходить для использования. К примеру, если А и В – конкуренты, то А не должны использовать демо-сайт компании В для обучения использованию своего продукта.