Selenium WebDriver with Node.js é uma ferramenta poderosa para automatizar o teste de aplicativos da web. Ao usar Selenium WebDriver o Node.js, você pode controlar navegadores, interagir com elementos em páginas da Web e escrever scripts de teste automatizados com facilidade. Com suporte para navegadores populares como Chrome, Firefox e Safari, Selenium WebDriver permite que você teste aplicativos da web em várias plataformas.
Este artigo fornece um guia detalhado sobre como usar Selenium WebDriver com Node.js, abrangendo instalação, configuração e exemplos práticos para ajudá-lo a começar com testes automatizados eficientes de aplicativos da Web.
Guia para usar Selenium WebDriver com Node.js
Instalação Selenium WebDriver
e dependências
Abra terminal
o prompt de comando ou e navegue até o diretório do projeto.
Execute o seguinte comando para instalar Selenium WebDriver
e as dependências necessárias:
npm install selenium-webdriver chromedriver
Este comando será instalado Selenium WebDriver
para Node.js e o driver Chrome(chromedriver) para controlar o navegador Chrome.
Importar e inicializar o WebDriver
Importe o necessário module
const { Builder, By, Key, until } = require('selenium-webdriver');
Inicialize o objeto WebDriver para o navegador desejado(por exemplo, Chrome):
const driver = new Builder().forBrowser('chrome').build();
Use o WebDriver para interagir com o navegador
Abra um URL
await driver.get('https://www.example.com');
Encontre e interaja com os elementos:
// Find an element by ID
const element = await driver.findElement(By.id('my-element-id'));
// Enter text into an input element
await element.sendKeys('Hello, World!');
// Press the Enter key
await element.sendKeys(Key.ENTER);
// Wait for an element to be located
await driver.wait(until.elementLocated(By.css('.my-element-class')));
// Click on an element
await element.click();
Você pode usar métodos como findElement
, sendKeys
, click
, wait
, etc., para interagir com elementos na página da web.
Fechar o WebDriver
Feche o navegador e finalize a sessão:
await driver.quit();
Aqui está um exemplo detalhado de localização e inserção de dados em um campo de entrada em uma página da web:
const { Builder, By, Key, until } = require('selenium-webdriver');
async function runTest() {
try {
const driver = new Builder().forBrowser('chrome').build();
await driver.get('https://www.example.com');
// Find the input element by ID
const inputElement = await driver.findElement(By.id('my-input-id'));
// Enter data into the input field
await inputElement.sendKeys('Hello, World!');
// Press the Enter key
await inputElement.sendKeys(Key.ENTER);
// Close the browser
await driver.quit();
} catch(error) {
console.error('Test failed:', error);
}
}
runTest();
Neste exemplo, encontramos o elemento de entrada por ID( my-input-id
) e usamos o sendKeys
método para inserir dados no campo de entrada. Por fim, pressionamos a tecla Enter usando sendKeys(Key.ENTER)
e fechamos o navegador com driver.quit()
.