No exercício de exclusão do curso do Selenium, mostra o exemplo apenas de excluir um usuário que está naquela posição determinada. Porém eu queria excluir um usuário que tivesse o nome igual ao passado por parâmetro por exemplo. Tentei seguir o exemplo e fazer o código mas não está indo
public class UsuariosPage
{
private WebDriver driver;
public UsuariosPage(WebDriver driver)
{
this.driver = driver;
}
public void excluiUsuarioPeloNome(String nome)
{
int posicao = driver.getPageSource().indexOf(nome);
System.out.println("Posição: " + posicao);
driver.findElements(By.tagName("button")).get(posicao-1).click();
//confirmando a mensagem de exclusão
Alert alert = driver.switchTo().alert();
alert.accept();
}
}
public class UsuariosSystemTest
{
private WebDriver driver;
private UsuariosPage usuarios;
@Before
public void inicializa()
{
System.setProperty("webdriver.gecko.driver","D:\\Users\\macat\\Desktop\\selenium\\libs\\geckodriver.exe");
this.driver = new FirefoxDriver();
this.usuarios = new UsuariosPage(driver);
usuarios.visita();
}
@Test
public void deveExcluirUmUsuarioPeloNome() throws InterruptedException
{
usuarios.novo().cadastra("teste excluir pelo nome", "testeexcluirpelonome@terra.com.br");
assertTrue(usuarios.existeNaListagem("teste excluir pelo nome", "testeexcluirpelonome@terra.com.br"));
usuarios.excluiUsuarioPeloNome("teste excluir pelo nome");
Thread.sleep(1000); // foi preciso esperar 1seg para realizar a veirficacao
assertFalse(usuarios.existeNaListagem("teste excluir pelo nome", "testeexcluirpelonome@terra.com.br"));
}
@After
public void finaliza()
{
driver.close();
}
}