Со временем наше сообщество разработало несколько проектов, которые вы можете использовать в качестве вдохновения для настройки собственного набора тестов.
Шаблонные проекты v9
webdriverio/cucumber-boilerplate
Наш собственный шаблон для тестовых наборов Cucumber. Мы создали для вас более 150 предопределенных шаговых определений, чтобы вы могли сразу начать писать файлы функций в своем проекте.
- Фреймворк:
- Cucumber
- WebdriverIO
- Особенности:
- Более 150 предопределенных шагов, которые охватывают почти всё, что вам нужно
- Интегрирует функциональность Multiremote WebdriverIO
- Собственное демо-приложение
webdriverio/jasmine-boilerplate
Шаблонный проект для запуска тестов WebdriverIO с Jasmine, использующий функции Babel и паттерн объектов страниц.
- Фреймворки
- WebdriverIO
- Jasmine
- Особенности
- Паттерн объектов страниц
- Интеграция с Sauce Labs
webdriverio/electron-boilerplate
Шаблонный проект для запуска тестов WebdriverIO на минимальном приложении Electron.
- Фреймворки
- WebdriverIO
- Mocha
- Особенности
- Мокинг Electron API
syamphaneendra/webdriverio9-boilerplate
Этот шаблонный проект содержит мобильные тесты WebdriverIO 9 с Cucumber, TypeScript и Appium для платформ Android и iOS, следуя паттерну объектной модели страниц. Включает комплексное логирование, отчетность, мобильные жесты, навигацию из приложения в веб и интеграцию CI/CD.
-
Фреймворки:
- WebdriverIO v9
- Cucumber v9
- Appium v2.5
- TypeScript v5
-
Особенности:
- Мультиплатформенная поддержка
- Android (UiAutomator2)
- iOS (XCUITest)
- Мобильные жесты
- Прокрутка
- Свайп
- Долгое нажатие
- Скрытие клавиатуры
- Навигация из приложения в веб
- Переключение контекста
- Поддержка WebView
- Автоматизация браузера (Chrome/Safari)
- Свежее состояние приложения
- Автоматический сброс приложения между сценариями
- Настраиваемое поведение сброса (noReset, fullReset)
- Конфигурация устройства
- Централизованное управление устройствами
- Простое переключение платформ
- Пример структуры каталогов для JavaScript / TypeScript. Ниже приведена версия для JS, версия TS имеет такую же структуру.
- Мультиплатформенная поддержка
amiya-pattnaik/wdio-testgen-from-gherkin-js
amiya-pattnaik/wdio-testgen-from-gherkin-ts
Автоматически генерирует классы объектов страниц WebdriverIO и тестовые спецификации Mocha из файлов .feature Gherkin — уменьшая ручные усилия, улучшая согласованность и ускоряя автоматизацию QA. Этот проект не только создает код, совместимый с webdriver.io, но и расширяет все функциональные возможности webdriver.io. Мы создали две версии: одну для пользователей JavaScript и другую для пользователей TypeScript. Но оба проекта работают одинаково.
Как это работает?
- Процесс следует двухэтапной автоматизации:
- Шаг 1: Gherkin в stepMap (Генерация файлов stepMap.json)
- Генерация файлов stepMap.json:
- Анализирует файлы .feature, написанные на синтаксисе Gherkin.
- Извлекает сценарии и шаги.
- Создает структурированный файл .stepMap.json, содержащий:
- действие для выполнения (например, click, setText, assertVisible)
- selectorName для логического сопоставления
- selector для элемента DOM
- примечание для значений или утверждений
- Генерация файлов stepMap.json:
- Шаг 2: stepMap в код (Генерация кода WebdriverIO).
Использует stepMap.json для генерации:
- Создает базовый класс page.js с общими методами и настройкой browser.url().
- Создает совместимые с WebdriverIO классы объектной модели страницы (POM) для каждой функции внутри test/pageobjects/.
- Создает тестовые спецификации на основе Mocha.
- Пример структуры каталогов для JavaScript / TypeScript. Ниже приведена версия для JS, версия TS имеет такую же структуру.
project-root/
├── features/ # Gherkin .feature files (user input / source file)
├── stepMaps/ # Auto-generated .stepMap.json files
├── test/
│ ├── pageobjects/ # Auto-generated WebdriverIO tests Page Object Model classes
│ └── specs/ # Auto-generated Mocha test specs
├── src/
│ ├── cli.js # Main CLI logic
│ ├── generateStepsMap.js # Feature-to-stepMap generator
│ ├── generateTestsFromMap.js # stepMap-to-page/spec generator
│ ├── utils.js # Helper methods
│ └── config.js # Paths, fallback selectors, aliases
│ └── __tests__/ # Unit tests (Vitest)
├── testgen.js # CLI entry point
│── wdio.config.js # WebdriverIO configuration
├── package.json # Scripts and dependencies
├── selector-aliases.json # Optional user-defined selector overrides the primary selector
Шаблонные проекты v8
amiya-pattnaik/webdriverIO-with-cucumberBDD
- Фреймворк: WDIO-V8 с Cucumber (V8x).
- Особенности:
- Модель объектов страниц использует подход на основе классов ES6/ES7 и поддержку TypeScript
- Примеры опций мультиселектора для запроса элемента с помощью нескольких селекторов одновременно
- Примеры выполнения в нескольких браузерах и браузерах без графического интерфейса - Chrome и Firefox
- Облачное тестирование с интеграцией BrowserStack, Sauce Labs, TestMu AI (ранее LambdaTest)
- Примеры чтения/записи данных из MS-Excel для простого управления тестовыми данными из внешних источников с примерами
- Поддержка базы данных для любой СУБД (Oracle, MySql, TeraData, Vertica и т.д.), выполнение любых запросов / получение набора результатов и т.д. с примерами для сквозного тестирования
- Множественная отчетность (Spec, Xunit/Junit, Allure, JSON) и размещение отчетов Allure и Xunit/Junit на веб-сервере.
- Примеры с демо-приложениями https://search.yahoo.com/ и http://the-internet.herokuapp.com.
- Специальные файлы
.configдля BrowserStack, Sauce Labs, TestMu AI (ранее LambdaTest) и Appium (для воспроизведения на мобильных устройствах). Для быстрой настройки Appium на локальной машине для iOS и Android обратитесь к appium-setup-made-easy-OSX.
amiya-pattnaik/webdriverIO-with-mochaBDD
- Фреймворк: WDIO-V8 с Mocha (V10x).
- Особенности:
- Модель объектов страниц использует подход на основе классов ES6/ES7 и поддержку TypeScript
- Примеры с демо-приложениями https://search.yahoo.com и http://the-internet.herokuapp.com
- Примеры выполнения в нескольких браузерах и браузерах без графического интерфейса - Chrome и Firefox
- Облачное тестирование с интеграцией BrowserStack, Sauce Labs, TestMu AI (ранее LambdaTest)
- Множественная отчетность (Spec, Xunit/Junit, Allure, JSON) и размещение отчетов Allure и Xunit/Junit на веб-сервере.
- Примеры чтения/записи данных из MS-Excel для простого управления тестовыми данными из внешних источников с примерами
- Примеры подключения к БД для любой СУБД (Oracle, MySql, TeraData, Vertica и т.д.), выполнение любых запросов / получение набора результатов и т.д. с примерами для сквозного тестирования
- Специальные файлы
.configдля BrowserStack, Sauce Labs, TestMu AI (ранее LambdaTest) и Appium (для воспроизведения на мобильных устройствах). Для быстрой настройки Appium на локальной машине для iOS и Android обратитесь к appium-setup-made-easy-OSX.
amiya-pattnaik/webdriverIO-with-jasmineBDD
- Фреймворк: WDIO-V8 с Jasmine (V4x).
- Особенности:
- Модель объектов страниц использует подход на основе классов ES6/ES7 и поддержку TypeScript
- Примеры с демо-приложениями https://search.yahoo.com и http://the-internet.herokuapp.com
- Примеры выполнения в нескольких браузерах и браузерах без графического интерфейса - Chrome и Firefox
- Облачное тестирование с интеграцией BrowserStack, Sauce Labs, TestMu AI (ранее LambdaTest)
- Множественная отчетность (Spec, Xunit/Junit, Allure, JSON) и размещение отчетов Allure и Xunit/Junit на веб-сервере.
- Примеры чтения/записи данных из MS-Excel для простого управления тестовыми данными из внешних источников с примерами
- Примеры подключения к БД для любой СУБД (Oracle, MySql, TeraData, Vertica и т.д.), выполнение любых запросов / получение набора результатов и т.д. с примерами для сквозного тестирования
- Специальные файлы
.configдля BrowserStack, Sauce Labs, TestMu AI (ранее LambdaTest) и Appium (для воспроизведения на мобильных устройствах). Для быстрой настройки Appium на локальной машине для iOS и Android обратитесь к appium-setup-made-easy-OSX.
syamphaneendra/webdriverio-web-mobile-boilerplate
Этот шаблонный проект содержит тесты WebdriverIO 8 с cucumber и typescript, следуя паттерну объектов страниц.
-
Фреймворки:
- WebdriverIO v8
- Cucumber v8
-
Особенности:
- Typescript v5
- Паттерн объектов страниц
- Prettier
- Поддержка нескольких браузеров
- Chrome
- Firefox
- Edge
- Safari
- Standalone
- Параллельное выполнение в разных браузерах
- Appium
- Интеграция облачного тестирования с BrowserStack и Sauce Labs
- Сервис Docker
- Сервис обмена данными
- Отдельные конфигурационные файлы для каждого сервиса
- Управление тестовыми данными и чтение по типу пользователя
- Отчетность
- Dot
- Spec
- Множественные HTML-отчеты cucumber со скриншотами ошибок
- Pipelines Gitlab для репозитория Gitlab
- Github actions для репозитория Github
- Docker compose для настройки docker hub
- Тестирование доступности с использованием AXE
- Визуальное тестирование с использованием Applitools
- Механизм логирования
klassijs/klassi-js (cucumber-template)
-
Фреймворки
- WebdriverIO (v8)
- Cucumber (v8)
-
Особенности
- Содержит примеры тестовых сценариев в cucumber
- Интегрированные html-отчеты cucumber со встроенными видео при сбоях
- Интегрированные сервисы Lambdatest и CircleCI
- Интегрированное визуальное, тестирование доступности и API-тестирование
- Интегрированная функциональность электронной почты
- Интегрированное хранилище S3 для хранения и извлечения отчетов о тестах
serenity-js/serenity-js-mocha-webdriverio-template/
Шаблонный проект Serenity/JS, помогающий начать приемочное тестирование ваших веб-приложений с использованием новейших WebdriverIO, Mocha и Serenity/JS.
-
Фреймворки
- WebdriverIO (v8)
- Mocha (v10)
- Serenity/JS (v3)
- Отчетность Serenity BDD
-
Особенности
- Шаблон сценария
- Автоматические скриншоты при сбое теста, встроенные в отчеты
- Настройка непрерывной интеграции (CI) с использованием GitHub Actions
- Демо-отчеты Serenity BDD, опубликованные на GitHub Pages
- TypeScript
- ESLint