Pular para o conteúdo principal

Electron

Electron é um framework para construir aplicações desktop usando JavaScript, HTML e CSS. Ao incorporar Chromium e Node.js em seu binário, o Electron permite que você mantenha uma base de código JavaScript e crie aplicativos multiplataforma que funcionam no Windows, macOS e Linux — sem necessidade de experiência em desenvolvimento nativo.

O WebdriverIO fornece um serviço integrado que simplifica a interação com seu aplicativo Electron e torna o teste muito simples. As vantagens de usar o WebdriverIO para testar aplicações Electron são:

  • 🚗 configuração automática do Chromedriver necessário
  • 📦 detecção automática do caminho da sua aplicação Electron - suporta Electron Forge e Electron Builder
  • 🧩 acesso às APIs do Electron dentro dos seus testes
  • 🕵️ simulação de APIs do Electron através de uma API semelhante ao Vitest

Você precisa apenas de alguns passos simples para começar. Assista a este tutorial em vídeo passo a passo do canal WebdriverIO YouTube:

Ou siga o guia na seção a seguir.

Começando​

Para iniciar um novo projeto WebdriverIO, execute:

npm create wdio@latest ./

Um assistente de instalação irá guiá-lo pelo processo. Certifique-se de selecionar "Desktop Testing - of Electron Applications" quando ele perguntar que tipo de teste você gostaria de fazer. Depois, forneça o caminho para sua aplicação Electron compilada, por exemplo ./dist, e mantenha os padrões ou modifique de acordo com sua preferência.

O assistente de configuração instalará todos os pacotes necessários e criará um wdio.conf.js ou wdio.conf.ts com a configuração necessária para testar sua aplicação. Se você concordar em gerar automaticamente alguns arquivos de teste, poderá executar seu primeiro teste via npm run wdio.

Configuração Manual​

Se você já estiver usando o WebdriverIO em seu projeto, pode pular o assistente de instalação e apenas adicionar as seguintes dependências:

npm install --save-dev wdio-electron-service

Em seguida, você pode usar a seguinte configuração:

// wdio.conf.ts
export const config: WebdriverIO.Config = {
// ...
services: [['electron', {
appEntryPoint: './path/to/bundled/electron/main.bundle.js',
appArgs: [/** ... */],
}]]
}

É isso 🎉

Saiba mais sobre como configurar o Serviço Electron, como simular APIs do Electron e como acessar APIs do Electron.

Welcome! How can I help?

WebdriverIO AI Copilot