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