27
Workshop Selenium GTS/CE

Workshop de Selenium WebDriver

  • Upload
    gts-ce

  • View
    270

  • Download
    2

Embed Size (px)

Citation preview

Workshop Selenium

GTS/CE

About me❏ Possui 8 anos de experiência em TI, com 7 anos de experiência Teste de

Software em projetos internacionais e nacionais, com experiência em Testes Automatizados usando Selenium RC, Selenium WebDriver e Cucumber, possui CSM pela Scrum Alliance e CTFL pela ISTQB.

❏ Contatos❏ Gmail: [email protected]❏ Github: www.github.com/otaviolandim❏ Twitter: otaviolandiim | Skype: otaviolandim

Agenda❏ Introdução ao Selenium❏ Navegando entre as páginas❏ Localizando elementos❏ Select❏ Alerts❏ Frames❏ Actions❏ Headless Browsers

Referências❏ Site oficial do Selenium

❏ http://www.seleniumhq.org/

❏ Página de desenvolvimento❏ https://code.google.com/p/selenium/

Download❏ Link para download

❏ http://www.seleniumhq.org/download/

Definição❏ Selenium é uma biblioteca que permite automatizar ações em aplicações web.❏ Linguagens: Java, C#, Python e Ruby.❏ Browsers: Chrome, Firefox, Safari, IE, Opera, Headless.❏ É open-source.

Outras Definições❏ Selenium IDE, é uma ferramenta utilizada para o desenvolvimento de

scripts de teste com Selenium através de um plugin para o Firefox, que desenvolve scripts através do método Record and Play (Gravação e Execução).

❏ Selenium Grid, é uma extensão do Selenium que permite executar testes remotos e testes distribuídos/paralelos. Permite gerenciar múltiplos ambientes de um único ponto para que possamos executar testes em diferentes configurações de browsers e sistemas operacionais.

História❏ Selenium 1 ou Selenium RC, ele foi criado em 2004, nos laboratórios da

Thoughtworks em Chicago, por Jason Huggins.

❏ Selenium 2 ou Selenium WebDriver, foi criado em 2009, o criador do WebDriver, Simon Stewart fez o merge com Selenium RC.

Conhecimentos Básicos

Capturando Elementos❏ Firebug

❏ Tools Chrome

Firebug

Comandos Básicos❏ Iniciando o Firefox

❏ Devemos informar qual o browser iremos utilizar.❏ Firefox é suportado nativamente no WebDriver. Outros navegadores não são suportados.❏ Como iniciar o Firefox?

WebDriver driver = new FirefoxDriver();

Comandos Básicos❏ Navegando entre páginas

driver.get(“http://www.google.com”);

driver.navigate().to(“http://www.globo.com”);

driver.navigate().back();

driver.navigate().forward();

driver.navigate().refresh();

Comandos Básicos❏ Fechar browser

❏ Fecha a janela atual.❏ driver.close()

❏ Fecha o browser.❏ driver.quit()

Comandos Básicos❏ Obtendo informações

❏ Driver❏ DOM

❏ WebElement é uma classe que representa um elemento HTML

WebElement❏ Para encontrar um elemento é necessário informar a estratégia.

❏ By.id❏ By.name❏ By.className❏ By.tagName❏ By.linkText

Css❏ Forma de localizar um elemento através do seu estilo.

driver.findElement(By.cssSelector(“input”));

driver.findElement(By.cssSelector(“#id”));

driver.findElement(By.cssSelector(“.class”));

Xpath❏ Xpath é uma linguagem de caminhos de um XML.

❏ Busca por xpath é mais lento.

driver.findElement(By.xpath(“//input”));

driver.findElement(By.xpath(“//input[@id=’id_elemento’]”));

driver.findElement(By.xpath(“//elementoPai/elementoFilho”));

driver.findElement(By.xpath(“//input[@class=‘class_elemento’]”));

Firepath❏ Facilitar sua vida!❏ Para adicionar o Firepath

❏ https://addons.mozilla.org/pt-br/firefox/addon/firepath/

Firepath

Select❏ Utilizamos a classe select para trabalhar com combobox.

Select select = new Select(driver.findElement(By.id(“id_select”)));

select.deselectAll();

select.selectByIndex(index);

select.selectByValue(“value”);

select.selectByVisibleText(“text_visible”);

Alerts❏ São mensagens em JavaScript, que retira o foco da janela atual.

Alert alert = driver.switchTo().alert();

alert.getText();

alert.dismiss();

alert.accept();

alert.sendKeys(“Enviar Texto”);

Frames❏ Um frame permite que diferentes arquivos HTML sejam colocados em um

única página.❏ Devemos identificar um frame pelo elemento <frame>

❏ Captura o frame pelo nome/index ❏ driver.switchTo().frame(“nomeframe”);❏ driver.switchTo().frame(index);

❏ Captura a janela principal❏ driver.switchTo().defaultContent();

Actions❏ Utilizada para emular os eventos pelo teclado e mouse.

❏ dragAndDrop, clickAndHold, moveToElement, doubleClick

WebElement drag = driver.findElement(By.id(“id_elemento”));

WebElement drop = driver.findElement(By.id(“id_elemento”));

Actions actions = new Actions(driver);

actions.dragAndDrop(drag, drop).perform();

Headless Browser❏ PhantomJS❏ HtmlUnitDriver

Headless Browser❏ HtmlUnit

❏ HtmlUnitDriver driver = new HtmlUnitDriver();❏ Habilitar JavaScript

❏ HtmlUnitDriver driver = new HtmlUnitDriver(true);

Obrigado!!!