Testes de usabilidade com Selenium – Instalação

Testes de usabilidade são muito importantes para aplicações web, por isso vou escrever alguns tutoriais a respeito do Selenium, que é uma suite de aplicativos para testes.

Antes de qualquer coisa, vamos instalar o Selenium no Ubuntu. A maior parte do processo será igual para Windows e Mac já que optei por utilizar o PIP.  Se você usa Windows, precisa instalar Python antes. Confira o python.org para como proceder.

1- Instalando Pip:

Abra o Terminal, e baixe o script get-pip.py via curl.

curl -O https://bootstrap.pypa.io/get-pip.py

Execute o script. Obs: Se você executar o script com a flag –user, o pip será instalado somente na pasta do usuário, em .local/bin.

python get-pip.py --user

O resultado será exibido assim:

Collecting pip
	Downloading pip-8.1.2-py2.py3-none-any.whl (1.2MB)
Collecting setuptools
	Downloading setuptools-26.1.1-py2.py3-none-any.whl (464kB)
Collecting wheel
	Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
Installing collected packages: pip, setuptools, wheel Successfully installed pip setuptools wheel

Depois da instalação, precisamos colocar a pasta .local/bin na variável de ambiente PATH. Você pode usar os arquivos .profile ou .bashrc. Como editor eu gosto do nano, então (Obs: no Mac eu usaria .profile):

nano ~/.bashrc

Na última linha nós adicionamos:

export PATH=~/.local/bin:$PATH

Caso você não saiba, esse comando adicionará a pasta .local/bin à existente varável PATH. De agora em diante, toda vez que você digitar no Terminal, o sistema verificará se seu comando corresponde aos executáveis da pasta .local/bin. E esse é o caso do PIP, o comando pip executará o arquivo pip.py que está nesta pasta. Salve o arquivo. Recarregue o PATH digitando:

source ~/.bashrc

Para testar digite:

pip -v

Se tudo deu certo, as instruções de ajuda do comando pip aparecerão na tela! 🙂

2- Agora instalamos o Selenium.

Eu gosto da flag –user para manter a instalação local. A flag -U, irá executar um update de repositório do pip:

pip install -U selenium --user

Após a instalação pracisamos instalar as interfaces dos WebDrivers para seu navegador escolhido. Para desenvolvimento eu uso o Chrome, logo demonstrarei o processo usando a interface para o Chrome, porém os passos serão os mesmos para os outros navegadores. Ao fim do post, tem links para as interfaces dos demais navgadores.

2.1- Baixando sua interface.

Para o Chrome vamos para o link https://sites.google.com/a/chromium.org/chromedriver/downloads e baixamos o release mais recente. Será um arquivo zip. Descompactamos o mesmo, e colocamos o executável em qualquer pasta do sistema, desde que o destino esteja listado na varável PATH. Eu coloco meus arquivos na pasta .local/bin, a mesma onde o pip está instalado. Como o nome sugere, a pasta serve para armazenar binários.

Uma vez os executáveis no lugar correto, a instalação está concluída!

3- Let’s test.

Vamos testar no console interativo do Python:

python

Tente o seguinte:

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://google.com')

Assim que você definir a variável browser, uma janela do Chrome ira saltar na tela. Não se preocupe! É exatamente o que queremos! O comando get() fará a janela do Chrome acessar a página do Google!

Perfeito! Conseguimos nosso primeiro passo. Agora conseguimos controlar nosso navegador via script, e assim automatizar nossos testes.

Nos próximos posts veremos como criar os testes.

REFERÊNCIAS:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-linux.html

https://www.rosehosting.com/blog/how-to-install-pip-on-ubuntu-16-04/

https://pypi.python.org/pypi/selenium

https://docs.python.org/3/library/unittest.html

unittest introduction

http://docs.python-guide.org/en/latest/writing/tests/

https://jeffknupp.com/blog/2013/12/09/improve-your-python-understanding-unit-testing/

http://www.seleniumhq.org/docs/03_webdriver.jsp

 

INTERFACES de WEBDRIVERS:

Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads

Firefox: https://github.com/mozilla/geckodriver/releases

Safari: https://webkit.org/blog/6900/webdriver-support-in-safari-10/

Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

 

Youtube:

Browser elements & Operations: https://youtu.be/ph3NJm4Z7m4?t=21m31s

Selenium Methods and Functions: https://youtu.be/ph3NJm4Z7m4?t=32m1s