terça-feira, 3 de setembro de 2013

Dicas Selenium WebDriver

Outro dia fiquei algumas horas batendo a cabeça e pesquisando no Google como resolver um problema nos meus testes: pegar um texto que estava em um elemento hidden.
Eu já havia feito isso outras vezes, só que com elementos do tipo input e um simples getText() resolvia, mas esse elemento, que era uma span, não havia jeito de pegar. Ele encontrava o elemento, porém o getText retornava vazio.
Encontrei no stackoverflow a solução para esse caso: usar o getAtribute. Com esse comando você pode ter acesso a qualquer atributo do dom do seu elemento. Então o que ficava assim:

Driver.findElement(By.xpath(//*span)).gerText();

E não retornava nada, ficará assim:

Driver.findElement(By.xpath(//*span)).getAtribute('innerHtml');

Assim você conseguira capturar o texto do elemento, e caso venha algum carácter não desejado podes usar replace na string para manipular. 
Fácil não?