O Selenium suporta Python e, portanto, pode ser utilizado como Selenium WebDriver com Python para teste.
- Python é fácil em comparação com outras linguagens de programação, sendo muito menos prolixo.
- As APIs Python permitem que você se conecte ao navegador por meio do Selenium.
- O Selenium envia os comandos Python padrão para navegadores diferentes, apesar da variação no design de seus navegadores.
Você pode executar Selenium com scripts Python para Firefox, Chrome, IE, etc. em diferentes sistemas operacionais.
Neste tutorial do Selenium Python, você aprenderá-
- O que é Python?
- O que é selênio?
- Por que escolher Python em vez de Java no Selenium
- Como instalar e configurar o PyDev no Eclipse
- Como criar scripts de teste no Selenium com Python
O que é Python?
Python é uma linguagem de script orientada a objetos de alto nível. Ele é projetado de uma maneira amigável. Python usa palavras-chave simples em inglês, que são fáceis de interpretar. Tem menos complicações de sintaxe do que qualquer outra linguagem de programação.
Veja alguns dos exemplos na tabela abaixo.
Palavra-chave | Significado | Uso |
---|---|---|
elif | Senão se | Senão se |
outro | Outro | se: X; elif: Y; mais: J |
exceto | faça isso, se uma exceção acontecer, | exceto ValueError, a: imprimir a |
exec | Executar string como Python | exec 'imprimir "olá, mundo!"' |
O que é selênio?
Selenium é uma ferramenta para testar seu aplicativo da web. Você pode fazer isso de várias maneiras, por exemplo
- Permitir que toque nos botões
- Insira o conteúdo nas estruturas
- Dê uma olhada em seu site para verificar se tudo está "OK" e assim por diante.
Por que escolher Python em vez de Java no Selenium
Alguns pontos que favorecem o uso de Python em vez de Java com Selenium são,
- Os programas Java tendem a ser executados mais lentamente em comparação aos programas Python.
- Java usa chaves tradicionais para iniciar e terminar blocos, enquanto Python usa indentação.
- Java emprega tipagem estática, enquanto Python é tipado dinamicamente.
- Python é mais simples e compacto em comparação com Java.
Como instalar e configurar o PyDev no Eclipse
PyDev é o ambiente de desenvolvimento Python para Eclipse.
Etapa 1) Acesse o Eclipse Marketplace. Ajuda> Instalar Novo Software
A próxima etapa é instalar o "pydev IDE" para o eclipse.
Etapa 2) Nesta etapa,
- Pesquise por "http://pydev.org/updates" em Trabalhar com e depois
- Selecione todos os itens listados e clique em Avançar duas vezes
- Aceite o Contrato de Licença e clique em Concluir.
Etapa 3) Você pode encontrar um Aviso de segurança, clique em "Instalar assim mesmo".
Etapa 4) Agora , nesta etapa você definirá as preferências. Com a ajuda da opção de preferência, você pode usar Python de acordo com a necessidade do projeto.
Vá para Window> Preferences> PyDev> Interpreter> Python Interpreter.
Vamos definir o interpretador Python padrão. É como se você precisasse definir o compilador java para executar um código Java. Para alterar o nome do interpretador, clique no botão Browse for python / pypy exe.
Etapa 5) Nesta etapa, forneça o "nome do interpretador" e o caminho do arquivo "exe" do Python.
- Clique em 'Procurar' e encontre python.exe onde você instalou o Python.
- Clique no botão 'OK'.
- Selecione todas as pastas e clique em OK
- Clique em "Aplicar e Fechar".
Etapa 6) Faça um novo projeto em Python. Nesta etapa,
- Clique com o botão direito em PyDev Package Explorer> Novo.
- Selecione a opção outros.
- Selecione "PyDev> Projeto PyDev".
- Pressione o botão 'Avançar'.
- Dê um nome ao seu projeto
- Clique em "Concluir".
Você pode ver que o novo projeto Python (PyDev) foi criado.
Etapa 7) Nesta etapa,
Depois de criar 'Projeto PyDev', você criará um novo pacote Python.
- Clique com o botão direito em Projeto> Novo> Pacote PyDev.
- Nomeie seu pacote e clique em Concluir.
Etapa 8) Se você ver na captura de tela abaixo, um novo pacote é criado.
Depois de criar um novo pacote, a próxima etapa é criar o Módulo PyDev. O módulo contém alguns arquivos Python para inicialização. Esses arquivos ou funções do módulo podem ser importados para outro módulo. Portanto, não haverá necessidade de reescrever o programa novamente.
Etapa 9) Crie um novo módulo PyDev. Clique com o botão direito em pacote> Novo> Módulo PyDev.
Nomeie seu módulo e clique em "Concluir".
Selecione Modelo vazio e clique em "OK".
Etapa 10) Escreva seu código para Selenium com Python conforme mostrado abaixo
Como criar scripts de teste no Selenium com Python
Neste exemplo do Selenium WebDriver com Python, fizemos automação para a "página de login do Facebook" usando o driver do Firefox.
Exemplo 1 do Selenium Python: Faça login no Facebook
from selenium import webdriverde chaves de importação de selenium.webdriver.common.keysuser_name = "SEU EMAILID"senha = "SUA SENHA"driver = webdriver.Firefox ()driver.get ("https://www.facebook.com")element = driver.find_element_by_id ("email")element.send_keys (user_name)element = driver.find_element_by_id ("pass")element.send_keys (senha)element.send_keys (Keys.RETURN)element.close ()
Instantâneo do Código
Explicação do código
- Linha de código 1 : Do módulo de selênio import webdriver
- Linha de código 2 : Chaves de importação do módulo de selênio
- Linha de código 3 : User é uma variável que será usada para armazenar valores de nome de usuário.
- Linha de código 4 : A variável "senha" será usada para armazenar os valores da senha.
- Linha de código 5 : nesta linha, estamos inicializando o "FireFox" tornando-o um objeto.
- Linha de código 6 : O "método driver.get" irá navegar para uma página fornecida pelo URL. O WebDriver esperará até que a página tenha sido completamente carregada (ou seja, a ocasião "onload" foi encerrada), antes de devolver o controle ao seu teste ou script.
- Linha de código 7 : Nesta linha, estamos encontrando o elemento da caixa de texto onde o "e-mail" deve ser escrito.
- Linha de código 8 : Agora estamos enviando os valores para a seção de e-mail
- Linha de código 9 : O mesmo para a senha
- Linha de código 10 : Enviando valores para a seção de senha
- Linha de código 11 : element.send_keys (Keys.RETURN) é usado para pressionar enter após os valores serem inseridos
- Linha de código 12 : Fechar
RESULTADO
Os valores do nome de usuário "guru99" e a senha inseridos.
A página do Facebook fará o login com e-mail e senha. Página aberta (veja a imagem abaixo)
EXEMPLO 2: Faça login no Facebook e verifique o título
Neste exemplo,
- Vamos abrir uma página de login.
- Preencha os campos obrigatórios "nome de usuário" e "senha".
- Verifique o título da página
from selenium import webdriverde selenium.webdriver.support.ui import WebDriverWait# Etapa 1) Abra o Firefoxbrowser = webdriver.Firefox ()# Etapa 2) Navegue até o Facebookbrowser.get ("http://www.facebook.com")# Etapa 3) Pesquise e insira o campo de e-mail ou telefone e insira a senhausername = browser.find_element_by_id ("email")senha = navegador.find_element_by_id ("pass")submit = browser.find_element_by_id ("loginbutton")username.send_keys ("SEU EMAILID")password.send_keys ("SUA SENHA")# Etapa 4) Clique em Loginsubmit.click ()wait = WebDriverWait (navegador, 5)page_title = browser.titleassert page_title == "Facebook"
Instantâneo do código
Explicação do código:
- Linha de código 1-2: Importar pacotes de selênio
- Linha de código 4: inicialize o Firefox criando um objeto
- Linha de código 6: Obter página de login (Facebook)
- Linha de código 8-10: Buscar nome de usuário, caixas de entrada de senha e botão de envio.
- Linha de código 11-12: Insira os dados nas caixas de entrada de nome de usuário e senha
- Linha de código 14: Clique no botão "Enviar"
- Linha de código 15: Crie um objeto de espera com um tempo limite de 5 segundos.
- Linha de código 16: Capturando o título do objeto "navegador".
- Linha de código 17: Testando a seqüência de título capturada com "Facebook"
Resumo :
- Selenium é uma ferramenta de automação baseada na web de código aberto.
- A linguagem Python é usada com Selenium para teste. É muito menos prolixo e fácil de usar do que qualquer outra linguagem de programação
- As APIs Python permitem que você se conecte ao navegador por meio do Selenium
- O Selenium pode enviar os comandos padrão do Python para diferentes navegadores, apesar da variação no design de seus navegadores.