Selenium é uma framework para testes de software que permite a automação de aplicações Web. Este pode ser descarregado a partir da sua página aqui. A ideia deste post é mostrar como montar um ambiente e começar a desenhar testes sobre aplicações Web. Para começar a criar testes automatizados vamos primeiro montar um ambiente de desenvolvimento destes mesmos testes. Começamos por apresentar o conjunto de utilitários usados.
Começemos pelos Browsers, vamos precisar deles para aceder às aplicações Web. Pelo menos serão necessários o Firefox e Chrome.
Para nos ajudar a encontrar as informações das páginas sobre as quais vamos automatizar testes vamos precisar do
Firebug - Firebug é uma ferramenta de desenvolvimento web que facilita o debuging, edição e monitorização de CSS de qualquer site, HTML, DOM, XHR e JavaScript;
FirePath - FirePath é uma extensão para o Firefox que adiciona uma ferramenta de desenvolvimento para inspecionar, e gerar expressões XPath, seletores CSS assim como seletores JQuery (usando o sizzle selector engine).
Além disso vamos precisar do Ruby e de um IDE minimamente decente para trabalhar. Existem várias opções como por exemplo o Eclipse, Aptana e o IntelliJ Community Edition. Qualquer um deles serve, não existindo nenhum ponto que me pareça mais benéfico num deles, em relação aos restantes para o que se pretende fazer.
Depois de termos instalado um IDE vamos precisar do Ruby que pode ser obtido a partir daqui. Depois de instalado acedam à linha de comandos e verifiquem que o mesmo está instalado usando
ruby --version
Deverão obter uma linha com um resultado deste género
ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
Caso tenham problemas com a execução desta instrução experimentam verificar que a pasta dos binários foi adicionada corretamente às variáveis de ambiente. Caso contrário adicionem o caminho ás variáveis de ambiente. Para facilitar podem usar o Rapid Environment Editor que é um interface gráfico que facilita a edição das variáveis de ambientes no Windows substituindo o interface gráfico do Windows.
Após a instalação do ruby vamos instalar as gems necessários para criação de testes com o selenium-webdriver. Para tal executar as seguintes instruções
gem install seleniumgem install selenium-webdrivergem install test-unit
no final a sua instalação pode ser verificada utilizando o comando gem list. A partir daqui, e se tudo correu bem, basta apenas abrir o IDE e começar a escrever testes. Para deixar aqui apenas um exemplo do aspecto que teria um teste em que verifiquemos por exemplo se o blog Software@test é o primeiro hint quando se pesquisa por “softwareattest” no google. Não se preocupem muito em perceber o código, o seu objectivo e explicação será alvo de posts futuros.
1: #!/bin/env ruby
2: # encoding: utf-8
3: 4: require 'rubygems'
5: require 'selenium-webdriver'
6: require "test/unit"
7: 8: class Hello < Test::Unit::TestCase
9: def blog_first_in_google 10: begin11: #Inicialização do driver e definição do browser a usar
12: driver = Selenium::WebDriver.for :firefox
13: driver.get "http://google.com"
14: 15: #Identificação da caixa de pesquisa do google e respectiva submissão
16: element = driver.find_element :name => "q"
17: element.send_keys "softwareattest"
18: #Expressão Xpath para o botão "feeling luck" (popup)
19: submit = driver.find_element(:xpath, ".//*[@id='gsr']/table/tbody/tr/td[2]/table/tbody/tr[11]/td/div/div/span[2]/span/input")
20: submit.click 21: 22: #verifiação se o resultado era o que esperavamos.
23: assert_equal("Software@test", driver.title)
24: ensure 25: driver.close 26: driver.quit 27: end 28: end 29: endEste teste pode ser corrido a partir da linha de comandos do seguinte modo
ruby Hello.rb
Este tutorial foi feito baseando-se no ruby, mas facilmente poderia de ser adaptado a outras linguagens como Java, C#, etc. No caso de Java podem seguir um conjunto de tutoriais bastante pormenorizados para a criação de um ambiente de trabalho. Este tutorial pode ser encontrado aqui. Para melhor compreender o selenium sugiro que deem uma vista de olha na documentação oficial que pode ser encontrada aqui. Outro bom recurso é o livro Selenium Simplified do Alan Richardson.
Bom, até à próxima.
I am comparatively new to selenium and played a little with selenium IDE, and trying to do with selenium rc. I am baffled to use the scripting language there. Can you tell me what is the most used language in selenium across industries? And also I came across this course http://www.wiziq.com/course/12451-selenium-automated-web-browser-testing-for-web-applications os selenium automated web browser testing is this good? If someone does in Java and he joins a company where everyone does in ruby, then it'll be a pain to learn ruby again. And also it would be great if you address any comparison about the available languages like (perl, python, ruby, java etc.) or tell me any other guidance would really appreciate help and also i would like to thank for all the information you are providing.
ResponderEliminarHello sumit,
ResponderEliminarFirst I have no idea what is the most used language with selenium across industrie.
Personally I use ruby and I think it's a good language for writing testing scripts.
The course you refer its the first time I see it, so i don't have an opinion about it.
I can suggest you a free selenium course in Java if you're starting to use selenium. You can find it here:
https://www.udemy.com/start-using-selenium-webdriver-with-java/
It's free and it's ease to do it in another languages, so it's a good way to start. :)
And you have the selenium documentation. It was what I had used to learn.
Until now I've only had used ruby with selenium, so for now i can't compare with others languages. Maybe I will try other languages in a future. :)