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
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