Electron
Electron è un framework per la creazione di applicazioni desktop utilizzando JavaScript, HTML e CSS. Incorporando Chromium e Node.js nel suo binario, Electron ti permette di mantenere una singola base di codice JavaScript e creare applicazioni multi-piattaforma che funzionano su Windows, macOS e Linux — non è richiesta esperienza di sviluppo nativo.
WebdriverIO fornisce un servizio integrato che semplifica l'interazione con la tua applicazione Electron e rende il test molto semplice. I vantaggi dell'utilizzo di WebdriverIO per testare le applicazioni Electron sono:
- 🚗 configurazione automatica del Chromedriver richiesto
- 📦 rilevamento automatico del percorso della tua applicazione Electron - supporta Electron Forge e Electron Builder
- 🧩 accesso alle API Electron all'interno dei tuoi test
- 🕵️ mock delle API Electron tramite un'API simile a Vitest
Hai solo bisogno di pochi semplici passaggi per iniziare. Guarda questo semplice tutorial video passo-passo per iniziare dal canale WebdriverIO YouTube:
Oppure segui la guida nella sezione seguente.
Per iniziare
Per avviare un nuovo progetto WebdriverIO, esegui:
npm create wdio@latest ./
Una procedura guidata di installazione ti accompagnerà nel processo. Assicurati di selezionare "Desktop Testing - of Electron Applications" quando ti chiede che tipo di test vorresti fare. Successivamente fornisci il percorso alla tua applicazione Electron compilata, ad esempio ./dist
, poi mantieni le impostazioni predefinite o modificale in base alle tue preferenze.
La procedura guidata di configurazione installerà tutti i pacchetti necessari e creerà un wdio.conf.js
o wdio.conf.ts
con la configurazione necessaria per testare la tua applicazione. Se accetti di generare automaticamente alcuni file di test, puoi eseguire il tuo primo test tramite npm run wdio
.
Configurazione manuale
Se stai già utilizzando WebdriverIO nel tuo progetto, puoi saltare la procedura guidata di installazione e aggiungere solo le seguenti dipendenze:
npm install --save-dev wdio-electron-service
Quindi puoi utilizzare la seguente configurazione:
// wdio.conf.ts
export const config: WebdriverIO.Config = {
// ...
services: [['electron', {
appEntryPoint: './path/to/bundled/electron/main.bundle.js',
appArgs: [/** ... */],
}]]
}
Questo è tutto 🎉
Scopri di più su come configurare il servizio Electron, come fare mock delle API Electron e come accedere alle API Electron.