Electron
Electron — это фреймворк для создания настольных приложений с использованием JavaScript, HTML и CSS. Встраивая Chromium и Node.js в свой исполняемый файл, Electron позволяет поддерживать одну кодовую базу JavaScript и создавать кроссплатформенные приложения, работающие на Windows, macOS и Linux — опыт нативной разработки не требуется.
WebdriverIO предоставляет интегрированный сервис, который упрощает взаимодействие с вашим приложением Electron и делает его тестирование очень простым. Преимущества использования WebdriverIO для тестирования приложений Electron:
- 🚗 автоматическая настройка необходимого Chromedriver
- 📦 автоматическое определение пути к вашему приложению Electron - поддерживает Electron Forge и Electron Builder
- 🧩 доступ к API Electron из ваших тестов
- 🕵️ моккинг API Electron через API, похожий на Vitest
Вам нужно всего несколько простых шагов, чтобы начать. Посмотрите это простое пошаговое видео-руководство по началу работы с канала WebdriverIO YouTube:
Или следуйте руководству в следующем разделе.
Начало работы
Чтобы инициировать новый проект WebdriverIO, выполните:
npm create wdio@latest ./
Мастер установки проведет вас через процесс. Убедитесь, что вы выбрали "Desktop Testing - of Electron Applications", когда вас спросят, какой тип тестирования вы хотели бы выполнить. После этого укажите путь к вашему скомпилированному приложению Electron, например, ./dist
, затем просто оставьте значения по умолчанию или измените их в соответствии с вашими предпочтениями.
Мастер конфигурации установит все необходимые пакеты и создаст wdio.conf.js
или wdio.conf.ts
с необходимой конфигурацией для тестирования вашего приложения. Если вы согласитесь на автоматическую генерацию некоторых тестовых файлов, вы сможете запустить свой первый тест с помощью npm run wdio
.
Ручная настройка
Если вы уже используете WebdriverIO в вашем проекте, вы можете пропустить мастер установки и просто добавить следующие зависимости:
npm install --save-dev wdio-electron-service
Затем вы можете использовать следующую конфигурацию:
// wdio.conf.ts
export const config: WebdriverIO.Config = {
// ...
services: [['electron', {
appEntryPoint: './path/to/bundled/electron/main.bundle.js',
appArgs: [/** ... */],
}]]
}
Вот и всё 🎉
Узнайте больше о том, как настроить сервис Electron, как имитировать API Electron и как получить доступ к API Electron.