Esta página documenta como começar a usar o ChromeDriver para testar o site no computador (Windows/Mac/Linux). Você também pode ler Primeiros passos com o Android ou Introdução ao ChromeOS.
Configuração
O ChromeDriver é um executável separado que o Selenium WebDriver usa para controlar o Chrome. Ele é mantido pela equipe do Chromium, com a ajuda dos colaboradores do WebDriver. Se você não conhece o Selenium WebDriver, acesse o site do Selenium.
Siga estas etapas para configurar seus testes para execução com o ChromeDriver:
- Verifique se o Chromium/Google Chrome está instalado em um local reconhecido
- O ChromeDriver espera que o Chrome esteja instalado no local padrão da plataforma. Você também pode forçar o ChromeDriver a usar um local personalizado configurando um recurso especial.
- Faça o download do binário do ChromeDriver para sua plataforma na seção downloads deste site
- Ajudar o WebDriver a encontrar o executável do ChromeDriver baixado
Qualquer uma destas etapas deve ajudar:
- inclua o local do ChromeDriver na variável de ambiente PATH
- (Somente Java) Especifique o local usando a propriedade de sistema webdriver.chrome.driver (veja o exemplo abaixo).
- (somente Python) inclua o caminho para o ChromeDriver ao instanciar o webdriver.Chrome (veja o exemplo abaixo).
Exemplo de teste
Java:
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.*;
import org.junit.Test;
public class GettingStarted {
@Test
public void testGoogleSearch() throws InterruptedException {
// Optional. If not specified, WebDriver searches the PATH for chromedriver.
// System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
// WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com/");
Thread.sleep(5000); // Let the user actually see something!
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.sendKeys("ChromeDriver");
searchBox.submit();
Thread.sleep(5000); // Let the user actually see something!
driver.quit();
}
}
Python:
import time
from selenium import webdriver
driver = webdriver.Chrome('/path/to/chromedriver') # Optional argument, if not specified will search path.
driver.get('http://www.google.com/');
time.sleep(5) # Let the user actually see something!
search_box = driver.find_element_by_name('q')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5) # Let the user actually see something!
driver.quit()
Controlar o ciclo de vida do ChromeDriver
A classe ChromeDriver inicia o processo do servidor ChromeDriver na criação e o encerra quando o processo de saída é chamado. Isso pode desperdiçar um tempo significativo para grandes pacotes de testes em que uma instância do ChromeDriver é criada para cada teste. Há duas opções para resolver isso:
- Use o ChromeDriverService. Esse recurso está disponível para a maioria dos idiomas e permite iniciar ou interromper o servidor ChromeDriver por conta própria. Confira um exemplo do Java (com JUnit 4):
import java.io.*;
import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.*;
import org.openqa.selenium.remote.*;
public class GettingStartedWithService {
private static ChromeDriverService service;
private WebDriver driver;
@BeforeClass
public static void createAndStartService() throws IOException {
service = new