Ao executar o teste da aula, duas janelas são abertas. Ao final, uma delas fecha, mas a outra permanece. Nas duas telas é realizado login, mas só a segunda tela, que roda todo o teste é fechado.
LeilaoCucumberRunner.java
package br.com.alura.leilao.acceptance;
import org.junit.runner.RunWith;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
@RunWith(Cucumber.class)
@CucumberOptions(features = "classpath:features", tags = "@leilao2")
public class LeilaoCucumberRunner {
}
leilaoSteps.java:
package br.com.alura.leilao.acceptance.steps;
import org.junit.Assert;
import br.com.alura.leilao.e2e.pages.Browser;
import br.com.alura.leilao.e2e.pages.LeiloesPage;
import br.com.alura.leilao.e2e.pages.LoginPage;
import br.com.alura.leilao.e2e.pages.NovoLeilaoPage;
import io.cucumber.java.pt.Dado;
import io.cucumber.java.pt.Entao;
import io.cucumber.java.pt.Quando;
public class leilaoSteps {
private LoginPage loginPage;
private Browser browser;
private LeiloesPage leiloesPage;
private NovoLeilaoPage novoLeilaoPage;
@Dado("um usuario logado")
public void um_usuario_logado() {
browser = new Browser();
browser.seed();
loginPage = browser.getLoginPage();
leiloesPage = loginPage.realizaLoginComoFulano();
}
@Quando("acessa a pagina de novo leilao")
public void acessa_a_pagina_de_novo_leilao() {
novoLeilaoPage = this.leiloesPage.visitaPaginaParaCriarUmNovoLeilao();
}
@Quando("prenche o formulario com dados validos")
public void prenche_o_formulario_com_dados_validos() {
this.leiloesPage = this.novoLeilaoPage.preencheForm("Tablet", "1500", "01/11/2020");
}
@Entao("volta para a pagina de leiloes")
public void volta_para_a_pagina_de_leiloes() {
Assert.assertTrue(this.leiloesPage.estaNaPaginaDeLeiloes());
}
@Entao("o novo leilao aparece na tabela")
public void o_novo_leilao_aparece_na_tabela() {
this.leiloesPage.existe("PC", "1500", "01/11/2020", "fulano");
this.browser.clean();
}
}
leilao.feature:
# language: pt
@leilao2
Funcionalidade: Cadastrando um leilao
Contexto:
Dado um usuario logado
Cenario: Um usuario logado pode cadastrar um leilao
Dado um usuario logado
Quando acessa a pagina de novo leilao
E prenche o formulario com dados validos
Entao volta para a pagina de leiloes
E o novo leilao aparece na tabela