Na lista do Selenium-Brasil um dos colaboradores teve a seguinte duvida:
-
O controlador de velocidade de execução dos testes (em destaque no print em anexo) começa a pular alguns passos, quando selecionado "Fast";
-
Os testes no Selenium IDE só podem ser realizados por meio de identificadores dos componentes? por exemplo, se a caixa de texto de uma aplicação web possuir um ID "nomeCliente" não haverá problemas na execução dos testes, porém se este mesmo componente for alterado para um ID auto-increment não é possível realizar testes com o componente.
Achei interessante colocar de uma forma pública a minha resposta para este questionamento, que segue abaixo e pode ajudar vocês, caso tenham a mesma dúvida.
Resposta para a pergunta 1: evite usar a barra de fast-slow porque ela pode te trazer resultados falso-positivos como o que tu tem de, quando colocar a barra como fast (que deveria ser sempre o padrão), ele apresentar algum erro que não encontrou o elemento. Isso se dá, na maioria da vezes, por algum "ajax": o campo demorar para aparecer, alguma combo demorar para carregar, um texto demorar para aparecer, etc...
Dê uma olhada nos comandos waitFor... do Selenium IDE http://docs.seleniumhq.org/docs/02_selenium_ide.jsp#the-waitfor-commands-in-ajax-applications Eles vão garantir, mesmo que com a execução rápida, ele espere por esses elementos que demoram.
Observação: tente nunca utilizar o slow da barra fast-slow. Isso fará com que os teus testes demorem demais quebrando uma regra básica de automação que é executar os testes o mais rápido que ele puder.
Resposta para a pergunta 2: IDs dinâmicos são sempre um problema. Não há outra forma de localização no Selenium IDE a não ser por um elemento. Ai temos diversos tipos de localização que tu podes olhar no link abaixo: http://docs.seleniumhq.org/docs/02_selenium_ide.jsp#locating-elements
Quando você tem elementos com números que, teoricamente, tem um auto-incremento você pode usar funções de XPath ou formas de localizar via CSS (sub-string matching) quando tu tiver, por exemplo, prefixos, sufixos ou contem. Exemplos: nome-123, 123-nome, 123-nome-123
A dica é tu dar uma olhada nos dois links abaixo: http://saucelabs.com/resources/selenium/css-selectors http://software-testing-tutorials-automation.blogspot.com.br/2013/06/xpath-tutorials-identifying-xpath-for.html
Fora isso uma outra forma de localização de elementos dinâmicos é se basear em um outro elemento que tenha uma forma de localização unica (ID ou name fixo) e, a partir dele, localizar o elemento necessário.
Above link is changed to http://www.software-testing-tutorials-automation.com/2013/06/xpath-tutorials-identifying-xpath-for.html