Post

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

By Jailton Alkimin Louzada
Saudações pessoal! Apesar do nome do post sugerir algo mais avançado na utilização do Selenium IDE, na verdade só irei falar um pouco mais de algumas features que o mesmo possui e que são pouco desbravadas ou mesmo desconhecidas por iniciantes, que é o User Extensions.
O User Extensions, como o nome mesmo já propõe é um local (mais precisamente um arquivo javascript) onde o usuário pode criar seus próprios comandos e funções e adicionar às funcionalidades do Selenium! Nesse caso imagine que você precise de uma funcionalidade extra que o Selenium IDE não tem nativamente, por exemplo, uma função que soma dois valores da tela e retorna o resultado da soma. Como não existe nada parecido com isso nativamente na ferramenta você poderia criar uma função que fizesse isso para você! Vamos aprender como é que se faz?
Você vai precisar:
1 – Somente do Selenium IDE;
Iniciando as Tarefas:
1 – O primeiro passo é configurar o seu Selenium IDE para “enxergar” onde ele deverá encontrar suas funções, ou seja, teremos que definir o caminho para o arquivo javascript (comumente user-extensions.js ) onde elas ficarão. O procedimento é simples, basta criar um arquivo javascript (user-extensions.js) e apontar para o local onde o mesmo se encontra através do menu: Opções -> Opções -> Aba Geral (Options->Options->General tab), ao final deverá ficar assim:

2 – Agora vem a melhor parte! Vamos criar um comando em javascript para que possamos utilizá-lo no Selenium IDE, para isso devemos ter conhecimento de algumas informações importantes:
a – Todos os métodos do Selenium Prototype começam com “do”;
b – Cada método poderá ter no máximo dois parâmetros;
c – Antes de declarar um método, você deverá estendê-lo de “Selenium.prototype” ;
d – Não pode haver métodos com nomes repetidos;
e – Toda vez que um método for criado, para que você “enxergue” ele no Selenium IDE, você deverá reiniciá-lo, ou seja, feixe-o e abra novamente.
3 – Para a “aula prática” de hoje vou usar um exemplo criado pelo Elias em seu blog SemBugs, o desafio proposto pelo Elias é relativamente simples, veja abaixo:
“O desafio consiste em conseguir automatizar a página que eu criei de um ‘captcha’ que, quando a soma dos dois números for submetida correramente apresenta o texto ‘correto’ e quando não estiver correto apresenta ‘errado’.
Claro que o script será criado com o resultado final de ‘correto’.
Então, tentem criar um script no Selenium IDE para automatizar. A página dá umas dicas!”
ENTENDENDO O DESAFIO: A solução para tal seria muito simples se utilizarmos o Selenium RC, porém vamos quebrar a cabeça um pouco com o IDE e tentar achar uma solução, no meu caso utilizando “user-extensions.js”. Basicamente o que temos que fazer é obter os dois números da tela que correspondem ao captcha e submeter a soma dos mesmos no relatório, aparentemente é simples porém somar esses valores foi o problema que me deparei, logo resolvi criar um método que realizasse a soma dos dois números e retornasse o resultado. Abaixo minha solução:
SCRIPT SELENIUM IDE:

com.jailtonalkiminlouzada

storeText
number1
x

storeText
number2
y

soma
${x}|${y}
z

type
soma
${z}

clickAndWait
submit

SCRIPT USER-EXTENSIONS:
Selenium.prototype.doSoma = function(numeros, soma) {

var num = numeros.split( ‘|’ );
var numero1 = num[0];
var numero2 = num[1];

storedVars[ soma ] = parseInt(numero1) + parseInt(numero2);
}
Perceba que como só é possível ter dois parâmetros no método, nesse caso um de entrada e o outro de saída para o Selenium IDE, os dois valores da soma foram enviados como um único parâmetro (como uma string) de entrada separados pelo carácter pipe “|”, esse valor é enviado ao meu método que recebe o mesmo e trata a string separando os dois valores em seguida convertendo-os em valores inteiro e realiza a soma que logo é atribuída a “variável de retorno” que será usada pelo comando type no Selenium IDE para digitar o valor no textbox do captcha e logo após será submetido e validado! Voilà deu certo!
Espero que tenham gostado do artigo e que seja útil para vocês leitores! Segue um link com algumas contribuições da comunidade com métodos criados em javascript e que podem ser utilizados no seu arquivo de user-extensions:
Selenium Oficial: http://wiki.openqa.org/display/SEL/Contributed+User-ExtensionsSeu Enium (Gerador de CPF e CNPJ): http://www.seuenium.com.br/2009/05/20/novos-comandos-do-selenium-para-gerar-cpf-e-cnpj/

Source: http://www.jailtonalkiminlouzada.com/2011/03/selenium-ide-user-extensions/

Category: Selenium-IDE

Você também pode querer ler

Comments are off for this post.