O teste automatizado do navegador é obrigatório para qualquer desenvolvedor web para garantir que seus aplicativos funcionem corretamente. Nesta postagem, veremos como configurar o Selenium com JavaScript para automatizar uma tarefa simples do navegador: abrir uma página da web e clicar em um botão.
Para acompanhar, você precisará de:
Primeiro, crie uma nova pasta para o seu projeto. Abra seu terminal e execute:
mkdir selenium-test cd selenium-test
Em seguida, inicialize um novo projeto Node.js:
npm init -y
Este comando gera um arquivo package.json que rastreia as dependências do seu projeto.
Usaremos npm para instalar Selenium WebDriver e ChromeDriver:
npm install selenium-webdriver chromedriver --save
Esses pacotes fornecem as bibliotecas e ferramentas necessárias para automatizar o Chrome com Selenium.
Crie um novo arquivo chamado test.js na pasta do seu projeto. Este script abrirá uma página da web, aguardará até que um botão se torne clicável e, em seguida, clique nele.
const { Builder, By, until } = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome'); // Helper function to pause the script function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function runTest() { // Configure Chrome to suppress unwanted prompts let options = new chrome.Options(); options.addArguments('--no-default-browser-check', '--no-first-run', '--disable-default-apps', '--disable-infobars'); let driver = await new Builder() .forBrowser('chrome') .setChromeOptions(options) .build(); try { // Open the target webpage await driver.get('https://example.com'); // Change this URL to the site you want to test // Wait for an element to load await driver.wait(until.elementLocated(By.className('sample-class')), 10000); console.log('Found element with class "sample-class".'); // Generic wait for 6 seconds to handle any dynamic content await sleep(6000); // Wait for the button to be clickable await driver.wait(until.elementLocated(By.id('sample-button')), 10000); // Re-locate the button to ensure it’s still in the DOM let button = await driver.findElement(By.id('sample-button')); console.log('Button located:', button); // Click the button await button.click(); console.log('Button clicked successfully.'); // Wait for the next page or action to load await driver.wait(until.urlContains('new-page'), 10000); console.log('Navigation to new page was successful.'); } catch (error) { console.error('Error during the test:', error); } finally { // Always close the browser await driver.quit(); } } runTest();
Para executar seu script, execute:
node test.js
O Chrome abrirá e executará as ações definidas em seu script. Observe o console para obter registros indicando o progresso de cada etapa.
Agora você tem uma configuração básica para testes automatizados de navegador usando Selenium e JavaScript. Essa configuração pode ser facilmente expandida para incluir interações, verificações e etapas de validação mais complexas.
Lembre-se de manter seus drivers atualizados para corresponder às versões do seu navegador e considere usar um modo headless para ambientes CI/CD.
Se você quiser hospedá-lo no Azure, confira meu outro post: https://dev.to/iamrule/how-to-azure-host-a-selenium-javascript-node-application-in-azure-and -enviar notificações por e-mail sobre falhas-2aio
Bom teste!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3