Estacionei na aula 4.3, por não conseguir fazer o teste rodar. Obtenho o erro abaixo: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"#tabela-leiloes tbody tr:last-child"}
O método isLeilaoCadastrado de LeiloesPage está assim, conforme o exemplo em vídeo. O exemplo em texto contém "table-leiloes', em vez de "tabela-leiloes".
public boolean isLeilaoCadastrado(String nome, String valor, String data) {
WebElement linhaDaTabela = this.browser.findElement(By.cssSelector("#tabela-leiloes tbody tr:last-child"));
WebElement colunaNome = linhaDaTabela.findElement(By.cssSelector("td:nth-child(1)"));
WebElement colunaDataAbertura = linhaDaTabela.findElement(By.cssSelector("td:nth-child(2)"));
WebElement colunaValorInicial = linhaDaTabela.findElement(By.cssSelector("td:nth-child(3)"));
return colunaNome.getText().equals(nome)
&& colunaDataAbertura.getText().equals(data)
&& colunaValorInicial.getText().equals(valor);
}
O teste está assim:
@Test
public void deveriaCadastrarLeilao() {
LoginPage paginaDeLogin = new LoginPage();
paginaDeLogin.preencheFormularioDeLogin("fulano", "pass");
this.paginaDeLeiloes = paginaDeLogin.efetuaLogin();
CadastroLeilaoPage paginaDeCadastro = paginaDeLeiloes.carregarFormulario();
String hoje = LocalDate.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));
String nome = "Leilão do dia " +hoje;
String valor = "500.00";
this.paginaDeLeiloes = paginaDeCadastro.cadastrarLeilao(nome, valor, hoje);
Assert.assertTrue(paginaDeLeiloes.isLeilaoCadastrado(nome, valor, hoje));
}
Agradeço desde já.