Partindo do princípio que que a instalação dos recursos necessários correu bem, vamos começar a desenvolver os testes em Ruby usando o Selenium. Para consultar os detalhes sobre como preparar um ambiente para testar consultar o post anterior aqui.
Operações mais comuns com o selenium
Efetuar a inicialização do driver e navegação para uma página web deve ser efectuado usando o seguinte pedaço de código. A linha um têm como objectivo efetuar a inicialização do webdriver para utilização do Firefox, enquanto por outro lado a linha dois indica-nos para acedermos à página inicial do google.
1: driver = Selenium::WebDriver.for :firefox2: driver.get "http://google.com"
Para efetuar a localização os elementos gráficos existem várias opções. Podemos identificar os mesmos por
ID – Podemos usar a localização por ID quando temos uma estrutura html em que o elemento procurado seja semelhante ao exemplo mostrado abaixo.
1: <button id="buttonid">...</button>
Aqui usaríamos o método find_element de modo a encontrar o elemento procurado do seguinte modo
1: element = driver.find_element(:id, "buttonid")A partir daqui o elemento web fica guardado na variável element, para efetuarmos o tipo de operações que desejarmos. Estas operações podem ser clicks, asserts, entre outras. Do mesmo modo estão ainda disponíveis os seguintes modos de localização Classname, Tagname, Name, Link Text ou Partial Link Text, Css e Xpath. As duas últimas referências possuem uma sintaxe própria e mais detalhes sobre essa sintaxe podem ser encontrados aqui para o caso do XPath e aqui para o caso dos CSS selectors. O modo mais rápido de identificar estes valores é usando o utilitário FirePath que nos devolve estas duas expressões de forma automática.
De seguida apresentam-se alguns exemplos de como identificar e efetuar operações sobre as:
Escrever Texto em Caixas de Texto
Quando na página em questão temos um excerto de html, semelhante a que se apresenta em baixo1: <form>
2: First name: <input type="text" name="firstname"><br>
3: </form>
o que queremos tipicamente fazer é escrever texto na caixa que nos é apresentada. Podemos fazer isto do seguinte modo.
1: element = driver.find_element(:name, "firstname")2: element.set 'Joe'
Outra situação bastante comum é clicar em Botões, quando encontramos o seguinte elemento.
1: <button id="mybutton">Click Me!</button>
o que resulta no seguinte
clicar no botão pode ser feito do seguinte modo
1: element = driver.find_element(:id, "mybutton")2: element.click
Muitos mais elementos existem, mas os acima apresentados são os mais comuns. Para o próximo post contínuo a iterar pelos forms existentes.
Bom, até à próxima.