Dúvida para verificar existência de botão Selenium WebDriver

Boa tarde povo,

estou criando um teste automatizando JAVA + WebDriver, estou tendo um problema para localizar um botão, ou seja, o meu programa não está localizando o elemento da página, que é este:

<input title="Add" onclick="window.location.href=&quot;http://localhost:8888/Sentrifugo_2.1/index.php/employee/add&quot;" value="Add Record" class="sprite addrecord" type="button">

basicamente, é isto que quero fazer:

isPresent = driver.findElements(By.className(“sprite addrecord”)).size() > 0;

if (!isPresent) {
	System.out.println("O botão não está disponível para este usuário");
} else {
	System.out.println("O botão está disponível para este usuário!");
}

a variável isPresent retornará true se encontrado, mas ele nem está entrando na condição. Alguém poderia me ajudar, saberia me dizer outras formas que poderia localizar um elemento na página?

Obrigado

Descobri que o selenium está localizando o elemento pois o className dele possui 2 palavras, problema que pelo cssSelector também não estou consigo fazer com que pegue este elemento.

@martinmaiochi
Existe uma “regra” no cssSelector aplicada na localização de classes.
Quando tu for localizar pela classe de um elemento que está contida em um atributo class é necessário colocar exatamente como a classe está e remover os espaços em branco que são exibidos na class do elemento.

O “exatamente como a classe está” é a classe real do css. No teu caso os sprit e addrecord possuem um “.” antes.

Com estas regras a localização via cssSelector fica assim:

driver.findElements(By.className(“.sprite.addrecord”));

Testa ai e da um retorno pra nós! ;)

@Elias-Nogueira disse em Dúvida para verificar existência de botão Selenium WebDriver:

.sprite.addrecord

Utilizei (By.className) passando o que você comentou mas ele não achou. Tentei com (By.cssSelector) e deu certo!

Muito obrigado mesmo Elias pela ajuda!

Me fala como é o comportamento da página… Quando este botão aparece pra ti? O que realmente tu quer fazer para verificar se o botão está na página?

@Elias-Nogueira Eu tinha respondido seu primeiro post dizendo que não tinha dado certo, mas depois mudei para pegar pelo cssSelector e deu certo, aí editei a minha última resposta.

A ideia é criar um caso de teste para verificar se o botão de criar usuário está disponível para um login normal, o certo é estar disponível apenas para um admin entende?

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.