Arquivo

Posts Tagged ‘selenium’

Usando Selenium WebDriver com Java – exemplo simples

Sempre preciso criar códigos para utilizarem o Selenium Webdriver com a finalidade de simular alguma ação e efetuar testes, então resolvi criar um exemplo para reutilizar e expandir sempre que necessário.

Para quem não conhece, de forma muito simplificada, podemos dizer que o Selenium é um utilitário que nos permite gravar/criar cenários de testes e os rodar, contando com poderosas estruturas tais como checagens de resultados (asserts), loops, cargas, etc.

O Selenium WebDriver basicamente permite que criemos estes cenários de testes, e os rodemos de uma aplicação. Ele suporta Java, Ruby, Python, etc.

Como falei, a descrição acima é muito simplista, pois meu foco aqui é demonstrar com as mãos na massa como criar um projeto Java e rodar um teste que vai simular a abertura da pagina do google e uma pesquisa. Vamos lá:

  1. Crie um projeto Maven Java
  2. Adicione as dependências do Selenium (seu Pom.xml deve ficar parecido com o codigo abaixo)
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.ibm.webdriver</groupId>
    <artifactId>wdrivertest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>wdrivertest</name>
    <dependencies>
    <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-firefox-driver</artifactId>
    <version>3.6.0</version>
    </dependency>
    </dependencies>
    </project>
    
  3. Crie uma classe com o seguinte conteúdo:
    package wdrivertest;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.firefox.FirefoxDriver;
    
    /**
    * This class show how to use selenium web driver
    * https://github.com/julianommartins/seleniumWebDriver
    * @author julianom
    *
    */
    public class WebDriverExample {
    public static void main(String[] args) {
    // If you want to load a existing profile
    // Option 1
    // ProfilesIni profile = new ProfilesIni();
    // FirefoxProfile julianoProf = profile.getProfile("default");
    // FirefoxOptions options = new FirefoxOptions().setProfile(julianoProf);
    //
    // Option 2
    // DesiredCapabilities capabilities = DesiredCapabilities.firefox();
    // capabilities.setCapability("marionette", true);
    // capabilities.setCapability(FirefoxDriver.PROFILE, julianoProf);
    
    // you need to download geckodriver (https://github.com/mozilla/geckodriver/releases)
    // and extract to your machine (this example is for Linux, if you
    // are using windows, change to your local folder and add the .exe extension
    System.setProperty("webdriver.gecko.driver", "/opt/geckodriver/geckodriver");
    // option 1 to use existing profile
    //WebDriver driver = new FirefoxDriver(options);
    // option 2 to use existing profile
    //WebDriver driver = new FirefoxDriver(capabilities);
    
    WebDriver driver = new FirefoxDriver();
    
    // Opening Google
    driver.get("http://www.google.com");
    
    // q its the search box name/ID
    WebElement element = driver.findElement(By.name("q"));
    
    // Seaching for Juliano Marcos Martins - me
    element.sendKeys("Juliano Marcos Martins");
    
    // Submit the form
    element.submit();
    
    // Printing the page title - just for example
    System.out.println("Page title is: " + driver.getTitle());
    
    // If you want to Close the browser, uncomment this line
    // driver.quit();
    }
    }
    
  4. Você vai precisar baixar o Geckodriver na sua máquina e colocar em um diretório qualquer. Veja que no código Java apontamos para esse diretório.
  5. Rode sua classe: você vai ver que uma instancia do Navegador será aberta e a busca efetuada.

O projeto maven pode ser baixado de https://github.com/julianommartins/seleniumWebDriver

Enjoy!

 

Ferramenta para Testes de software web em multiplos navegadores

Você ja passou por uma situação na qual tem que testar seu aplicação em vários navegadores?

Existe uma ferramenta que pode auxiliar neste processo. É a Selenium.

Vale a pena dar uma olhada, aqui http://seleniumhq.org/

Enjoy

Categorias:JAVA Tags:, , ,