Vencedores Desafio Selenium

DESFIO_QALB_SELENIUMNa semana passada, publicamos o desafio de automação de testes com Selenium.

E hoje, temos o prazer de anunciar os vencedores, que receberão o cupom de 40% de desconto nos treinamentos QALab:

  • Cleber Braz
  • Haysa Rodrigues
  • Felipe Pires
  • Tayguara Reis

Os vencedores foram comunicados pelo e-mail registrado no formulário. Aguardamos o retorno de vocês para confirmarmos os cupons.

 

Resposta do desafio

A questão-chave para resolução do desafio é o uso do comando switchTo().frame, que permite indicar para o driver que o foco deve ser direcionado ao frame contido na página. Desse modo, conseguimos interagir com o formulário. Abaixo, o código da resposta enviado por um dos participantes:

[code language=”java”]
public class DesafioSeleniumQALab {

public static WebDriver driver;

@Before
public void setup() {
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(100, TimeUnit.SECONDS);
driver.get("http://qalab.com.br/site/desafio-blog/");
driver.manage().window().maximize();
}

@Test
public void desafioTesteQALab() {
PageActionFormulario desafio = new PageActionFormulario();
desafio.nomeUsuario("Teste");
desafio.emailUsuario("teste@gmail.com");
desafio.escolherOpcaoRadioMaybe();
desafio.escolherOpcaoHowManyPeople("Me and someone else!");
desafio.escreverCampoComentario("Desafio QALab Selenium 😀 Quero 40% :D");
desafio.clicarBotaoSubmit();
}

@After
public void tearDown() {
driver.quit();

}
}

public class PageActionFormulario extends DesafioSeleniumQALab{

static By campoNome = By.id("nome");
static By campoEmail = By.id("email");
static By opcaoRadioMaybe = By.id("Field0_1");
static By howManyPeople = By.id("Field1");
static By campoComentario = By.id("Field4");
static By btnSubmit = By.id("saveForm");

public void nomeUsuario(String nome) {
driver.findElement(campoNome).sendKeys(nome);
}

public void emailUsuario(String email) {
driver.findElement(campoEmail).sendKeys(email);
}

public void escolherOpcaoRadioMaybe() {
driver.switchTo().frame(driver.findElement(By.id("frameTest")));
driver.findElement(opcaoRadioMaybe).click();
}

public void escolherOpcaoHowManyPeople(String opcao) {
driver.findElement(howManyPeople).sendKeys(opcao);
}

public void escreverCampoComentario(String mensagem) {
driver.findElement(campoComentario).sendKeys(mensagem);
}

public void clicarBotaoSubmit() {
driver.findElement(btnSubmit).click();
}

}
[/code]

P.S. Tivemos outros 2 participantes que enviaram sua resposta ainda no dia 11/03, porém o formulário não registrou seus nomes e contatos de e-mail. Entrem em contato conosco (contato@qalab.com.br) até o final dessa semana (20/03), reenviando a solução, que atualizaremos o post e enviaremos seus cupons.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

*