Selenium WebDriver - Automação de Teste

26 respostas
R

Olá,

Gostaria de saber, qual a vantagem de usar selenium para automação se no final do teste ele não emite nenhum relatório informando onde o teste passou ou falhou?

Alguém usa ele?

26 Respostas

J

Voce cria um método de teste como outro qualquer e programa o teste usando webdriver. O relatorio vem da ferramenta de execucao de testes normal. O selenium é só um meio de conseguir programar ações no browser, mas o tratamento do retorno é com voce.

J

Pra ficar mais claro veja algum exemplo como este: http://anoopjshetty.wordpress.com/2012/02/16/test-automation-using-java-selenium-webdriver-and-testng/

A

Não recomendo o uso do TestNG, acho q é muito limitado… Neste caso, se eu fosse vc iria capturando o resultado das ações (clique, digitação em campo, mensagem de notificação na tela e etc) e iria logando num .txt (pra uma posterior consulta e a estruturação de log de acordo com a necessidade sendo maior ou menor detalhado) com Java.

A

rafael.cs:
Olá,

Gostaria de saber, qual a vantagem de usar selenium para automação se no final do teste ele não emite nenhum relatório informando onde o teste passou ou falhou?

Alguém usa ele?

Bom, uso o Selenium há 2 anos, comecei a usar ele desde sua versão 1, ele é um framework robusto, suporta vários navegadores e etc, o fato de ele ser Open Source acho q já justifica ele não ser perfeito como um Rational, Mercury, A suíte de testes da HP (O Mercury agora é tb da HP), tem tb o Testcomplete (mas não sou muito fã)… Resumindo, ele tem suas limitações, são muitas, o relatório/log q vc está dizendo é apenas uma… Se vc se aprofundar na arte dos testes automatizados verá q ele não tem Massa de dados; Conceitos de Plano de Teste/Suíte de Teste/Casos de Testse/Passos de Teste; Um relatório gráfico; Suporte à aplicações feitas em Flash e Applet e por aí vai…

Contudo o indico fortemente, ele é prático, software de mercado e possui uma curva de aprendizagem interessante.

J

Não recomendo o uso do TestNG, acho q é muito limitado… Neste caso, se eu fosse vc iria capturando o resultado das ações (clique, digitação em campo, mensagem de notificação na tela e etc) e iria logando num .txt (pra uma posterior consulta e a estruturação de log de acordo com a necessidade sendo maior ou menor detalhado) com Java.
A intencao foi só mostrar como se usa o selenium webdriver num método de teste. O framework de testes ele usa o que quiser. Nao entendi o lance do txt e log.

A

Não recomendo o uso do TestNG, acho q é muito limitado… Neste caso, se eu fosse vc iria capturando o resultado das ações (clique, digitação em campo, mensagem de notificação na tela e etc) e iria logando num .txt (pra uma posterior consulta e a estruturação de log de acordo com a necessidade sendo maior ou menor detalhado) com Java.

[…] Nao entendi o lance do txt e log.

Digo pra salvar o resultado das ações em arquivo.log para ter a evidência do teste, ao invés de deixar td no Console, até pq um dos ganhos de Automatização é testes exaustivos, testes q ficam rodando a noite toda… Se vc deixar um exemplo das 17h até as 9h rodando testes não estar td no Console qdo. vc chegar no outro dia.

A

Sem entrar no mérito de estruturar o log de acordo com o requisito, só de erro, falhas ou sucesso…

J

Mas isso a ferramenta já faz. Com Team Foundation (por exemplo) não me preocupo com isso.

A

Mas isso a ferramenta já faz. Com Team Foundation (por exemplo) não me preocupo com isso.

Que ferramenta faz isso? O Selenium, q é o assunto discutido não faz isso… Coloque suas fontes…

J

Mas isso a ferramenta já faz. Com Team Foundation (por exemplo) não me preocupo com isso.

Que ferramenta faz isso? O Selenium, q é o assunto discutido não faz isso… Coloque suas fontes…
No trabalho usamos o framework de testes da IDE Visual Studio, Test Manager e Team Foundation Server, tudo integrado, só me preocupo em escrever os testes. Nos testes unitários você precisa criar log de falhas na mão? Acredito que não, então qual seria o impedimento para os testes funcionais, só pelo fato de usar classes do Selenium WebDriver?

A

Mas isso a ferramenta já faz. Com Team Foundation (por exemplo) não me preocupo com isso.

Que ferramenta faz isso? O Selenium, q é o assunto discutido não faz isso… Coloque suas fontes…
No trabalho usamos o framework de testes da IDE Visual Studio, Test Manager e Team Foundation Server, tudo integrado, só me preocupo em escrever os testes. Nos testes unitários você precisa criar log de falhas na mão? Acredito que não, então qual seria o impedimento para os testes funcionais, só pelo fato de usar classes do Selenium WebDriver?

Oi, blz?

Desculpe, mas não estou entendo mais do que estamos discutindo (Selenium ou Outras ferramentas), visto q o assunto pautado foi Selenium WebDriver, vc citou outras ferrramentas e questionou sobre o Selenium ou sobre estas ferramentas? :shock: :?:

Conforme disse "
23/03/2013 00:13:12 Subject: Selenium WebDriver - Automação de Teste
rafael.cs wrote:
Olá,

Gostaria de saber, qual a vantagem de usar selenium para automação se no final do teste ele não emite nenhum relatório informando onde o teste passou ou falhou?

Acredito que não, então qual seria o impedimento para os testes funcionais, só pelo fato de usar classes do Selenium WebDriver?

Novamente não entendi o q vc quis dizer… Mas se for no sentido de qual o ganhor de usar o WebDriver, minha respostas seria muitos são os ganhos… Se for neste sentido daí detalho quais são…

Alguém usa ele?

Não entendi bem sua pergunta… Vc dizendo com TestNG, JUNIT? Se sim, elas mesmas geram resultados… Embora, no caso de utilizar junto com Selenium prefiro gerar meus próprios logs.

Bom, uso o Selenium há 2 anos, comecei a usar ele desde sua versão 1, ele é um framework robusto, suporta vários navegadores e etc, o fato de ele ser Open Source acho q já justifica ele não ser perfeito como […], acima"

J

Mas isso a ferramenta já faz. Com Team Foundation (por exemplo) não me preocupo com isso.

Que ferramenta faz isso? O Selenium, q é o assunto discutido não faz isso… Coloque suas fontes…
No trabalho usamos o framework de testes da IDE Visual Studio, Test Manager e Team Foundation Server, tudo integrado, só me preocupo em escrever os testes. Nos testes unitários você precisa criar log de falhas na mão? Acredito que não, então qual seria o impedimento para os testes funcionais, só pelo fato de usar classes do Selenium WebDriver?

Oi, blz?

Desculpe, mas não estou entendo mais do que estamos discutindo (Selenium ou Outras ferramentas), visto q o assunto pautado foi Selenium WebDriver, vc citou outras ferrramentas e questionou sobre o Selenium ou sobre estas ferramentas? :shock: :?:

Conforme disse "
23/03/2013 00:13:12 Subject: Selenium WebDriver - Automação de Teste
rafael.cs wrote:
Olá,

Gostaria de saber, qual a vantagem de usar selenium para automação se no final do teste ele não emite nenhum relatório informando onde o teste passou ou falhou?

Acredito que não, então qual seria o impedimento para os testes funcionais, só pelo fato de usar classes do Selenium WebDriver?

Novamente não entendi o q vc quis dizer… Mas se for no sentido de qual o ganhor de usar o WebDriver, minha respostas seria muitos são os ganhos… Se for neste sentido daí detalho quais são…

Alguém usa ele?

Não entendi bem sua pergunta… Vc dizendo com TestNG, JUNIT? Se sim, elas mesmas geram resultados… Embora, no caso de utilizar junto com Selenium prefiro gerar meus próprios logs.

Bom, uso o Selenium há 2 anos, comecei a usar ele desde sua versão 1, ele é um framework robusto, suporta vários navegadores e etc, o fato de ele ser Open Source acho q já justifica ele não ser perfeito como […], acima"

Falai blz, a discussão é em cima de Automação de Teste com Selenium WebDriver, e eu só defendi a ideia de fazer essa automação da mesma forma que outros testes como de unidade em que se utiliza qualquer xUNIT. Onde se usa métodos de Teste normais, realizando programaticamente as ações no browser com o Selenium WebDriver e testando o retorno esperado e/ou inesperado. Desta forma teremos o que o rafael.cs gostaria de ter, os resultados de sucesso e falhas, e mostrar onde o Selenium WebDriver traz vantagem, que é “interfacear” facilmente com o browser. Pelo menos só apresentei a forma que trabalho, podem existir outras. E sobre seus logs, se são complementares agora entendi então.

R

Mas pessoal, eu to com uma dúvida.

Aonde eu encontro os comando que eu vou ter que programar em python para o teste interagir na página e verificar se está certo ou errado? Aonde tem uma biblioteca para isso?

J

rafael.cs:
Mas pessoal, eu to com uma dúvida.

Aonde eu encontro os comando que eu vou ter que programar em python para o teste interagir na página e verificar se está certo ou errado? Aonde tem uma biblioteca para isso?


Por você não ter especificado a tecnologia que usa por default achamos ser Java. Não entendo nada de Python, mas dê uma pesquisada considerando o que foi falado aqui para Java, o conceito é o mesmo. Se você nunca criou testes unitários, estude um pouco antes de ir para testes funcionais com Selenium.

Encontrei isso por exemplo: http://stackoverflow.com/questions/2763610/selenium-webdriver-example-in-python#tab-top

A biblioteca você baixa aqui: http://docs.seleniumhq.org/download/ (Tem pra Java, C#, Ruby e o Python)

R

Beleza, me tira uma outra dúvida, por gentileza.

Qual a relação do selenium com teste unitário?

Precisamos de um framework de teste unitário para rodar selenium?

A

rafael.cs:
Beleza, me tira uma outra dúvida, por gentileza.

Qual a relação do selenium com teste unitário?


Vc pode utiliza-lo ou nao com Testes Unitarios.


Precisamos de um framework de teste unitário para rodar selenium?

Nao.

A questao e que algumas pessoas utilizam-no com JUnit, particularmente, vejo este set up de automacao muito limitada, por isso que utilizei na empresa um framework proprio onde pudemos desenvolver o nivel de relatorio desejado, massa de dados e um montam de coisas mais.

J

rafael.cs:
Beleza, me tira uma outra dúvida, por gentileza.

Qual a relação do selenium com teste unitário?

Precisamos de um framework de teste unitário para rodar selenium?


No meu caso uso um framework de testes de mercado sim, pois já fornece toda a infraestrutura pronta para resultados de forma integrada. Simplesmente como qualquer outro tipo de teste, à exemplo do unitário.

A

andredecotia:

Não recomendo o uso do TestNG, acho q é muito limitado…

Curiosidade: porque você acha o TestNG limitado? O que falta?

[]'s

R

Um exemplo básico que eu estou usando enquanto aprendo, é este daqui:

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

class PythonOrgSearch(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Firefox()

    def test_search_in_python_org(self):
        driver = self.driver
        driver.get("http://www.python.org")
        self.assertIn("Python", driver.title)
        elem = driver.find_element_by_name("q")
        elem.send_keys("selenium")
        elem.send_keys(Keys.RETURN)
        self.assertIn("Google", driver.title)

    def tearDown(self):
        self.driver.close()

if __name__ == "__main__":
    unittest.main()

Mas agora a partir deste exemplo, estou tentando automatizar o login do meu sistema aqui, mas está dando erro em alguns comandos, não sei por que =/

Lembrando que estou usando PYTHON, alguém sabe aonde encontro todos os comandos para automatizar com python?

J

rafael.cs:
Um exemplo básico que eu estou usando enquanto aprendo, é este daqui:

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

class PythonOrgSearch(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Firefox()

    def test_search_in_python_org(self):
        driver = self.driver
        driver.get("http://www.python.org")
        self.assertIn("Python", driver.title)
        elem = driver.find_element_by_name("q")
        elem.send_keys("selenium")
        elem.send_keys(Keys.RETURN)
        self.assertIn("Google", driver.title)

    def tearDown(self):
        self.driver.close()

if __name__ == "__main__":
    unittest.main()

Mas agora a partir deste exemplo, estou tentando automatizar o login do meu sistema aqui, mas está dando erro em alguns comandos, não sei por que =/

Lembrando que estou usando PYTHON, alguém sabe aonde encontro todos os comandos para automatizar com python?


Qual a mensagem de erro? De qualquer maneira acho melhor voce postar a duvida tambem em um forum específico sobre Python.

A

Alexandre Saudate:
andredecotia:

Não recomendo o uso do TestNG, acho q é muito limitado…

Curiosidade: porque você acha o TestNG limitado? O que falta?

[]'s

Qdo. comecamos a usar o Selenium tinhamos uma incognita, se iriamos de JUnit ou TestNG… Talvez optasse por TestNG dentre o JUnit, contudo tinhamos em mente um relatorio bastante personalizado/complexo, exemplo utilizando muitos dados para teste, logo Casos de Teste com direito a pre-condicao, massa de dados, o output tratado num .txt, o .txt tratado em HTML exibindo graficos, sem falar da estrutura de Suites de Teste e nao um simples teste unitario com assertions.

A

rafael.cs:
Um exemplo básico que eu estou usando enquanto aprendo, é este daqui:

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

class PythonOrgSearch(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Firefox()

    def test_search_in_python_org(self):
        driver = self.driver
        driver.get("http://www.python.org")
        self.assertIn("Python", driver.title)
        elem = driver.find_element_by_name("q")
        elem.send_keys("selenium")
        elem.send_keys(Keys.RETURN)
        self.assertIn("Google", driver.title)

    def tearDown(self):
        self.driver.close()

if __name__ == "__main__":
    unittest.main()

Mas agora a partir deste exemplo, estou tentando automatizar o login do meu sistema aqui, mas está dando erro em alguns comandos, não sei por que =/

Lembrando que estou usando PYTHON, alguém sabe aonde encontro todos os comandos para automatizar com python?

Tem certeza q existe o name=`q` na pagina?

A

andredecotia:
rafael.cs:
Um exemplo básico que eu estou usando enquanto aprendo, é este daqui:

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

class PythonOrgSearch(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Firefox()

    def test_search_in_python_org(self):
        driver = self.driver
        driver.get("http://www.python.org")
        self.assertIn("Python", driver.title)
        elem = driver.find_element_by_name("q")
        elem.send_keys("selenium")
        elem.send_keys(Keys.RETURN)
        self.assertIn("Google", driver.title)

    def tearDown(self):
        self.driver.close()

if __name__ == "__main__":
    unittest.main()

Mas agora a partir deste exemplo, estou tentando automatizar o login do meu sistema aqui, mas está dando erro em alguns comandos, não sei por que =/

Lembrando que estou usando PYTHON, alguém sabe aonde encontro todos os comandos para automatizar com python?

Tem certeza q existe o name=`q` na pagina?

Na verdade existe sim, acabei de checar

<input type="text" id="q" name="q" class="input-text" autocomplete="off" widdit="on">

Se vc postar a mensagem de erro ira nos ajudar a te ajudar.

A

andredecotia:
Alexandre Saudate:
andredecotia:

Não recomendo o uso do TestNG, acho q é muito limitado…

Curiosidade: porque você acha o TestNG limitado? O que falta?

[]'s

Qdo. comecamos a usar o Selenium tinhamos uma incognita, se iriamos de JUnit ou TestNG… Talvez optasse por TestNG dentre o JUnit, contudo tinhamos em mente um relatorio bastante personalizado/complexo, exemplo utilizando muitos dados para teste, logo Casos de Teste com direito a pre-condicao, massa de dados, o output tratado num .txt, o .txt tratado em HTML exibindo graficos, sem falar da estrutura de Suites de Teste e nao um simples teste unitario com assertions.

Ué… mas o que mais me agrada no TestNG é justamente o fato de ter um estrutura de suítes de teste (que é opcional no TestNG, você pode ter ou não).

Além disso, (que eu saiba) o TestNG é totalmente configurável para dar saídas dos resultados no formato que você quiser.

Tem certeza que vocês exploraram bem a ferramenta?

[]'s

A

Alexandre Saudate:
andredecotia:
Alexandre Saudate:
andredecotia:

Não recomendo o uso do TestNG, acho q é muito limitado…

Curiosidade: porque você acha o TestNG limitado? O que falta?

[]'s

Qdo. comecamos a usar o Selenium tinhamos uma incognita, se iriamos de JUnit ou TestNG… Talvez optasse por TestNG dentre o JUnit, contudo tinhamos em mente um relatorio bastante personalizado/complexo, exemplo utilizando muitos dados para teste, logo Casos de Teste com direito a pre-condicao, massa de dados, o output tratado num .txt, o .txt tratado em HTML exibindo graficos, sem falar da estrutura de Suites de Teste e nao um simples teste unitario com assertions.

Ué… mas o que mais me agrada no TestNG é justamente o fato de ter um estrutura de suítes de teste (que é opcional no TestNG, você pode ter ou não).

Além disso, (que eu saiba) o TestNG é totalmente configurável para dar saídas dos resultados no formato que você quiser.

Tem certeza que vocês exploraram bem a ferramenta?

[]'s

Nao usamos o TestNG mas isso nao significa de forma alguma q ele não supre alguns de nossos requisitos, um exemplo é o tal de @DataProvider para massa de dados, q não foi tão trivial utilizar este recurso… Qdo. falo de saída de relatório em HTML conforme disse acima falo com gráficos, vc está querendo dizer q o TestNG gera gráficos? Onde vc viu isso?
No link (manual oficial) abaixo tem um exemplo bem “simples” de saída HTML http://testng.org/doc/documentation-main.html… Qto. a suites de teste por favor, exemplifique o q vc quer dizer através d como vc usa/usaria…

A

andredecotia:

Nao usamos o TestNG mas isso nao significa de forma alguma q ele não supre alguns de nossos requisitos, um exemplo é o tal de @DataProvider para massa de dados, q não foi tão trivial utilizar este recurso… Qdo. falo de saída de relatório em HTML conforme disse acima falo com gráficos, vc está querendo dizer q o TestNG gera gráficos? Onde vc viu isso?
No link (manual oficial) abaixo tem um exemplo bem “simples” de saída HTML http://testng.org/doc/documentation-main.html… Qto. a suites de teste por favor, exemplifique o q vc quer dizer através d como vc usa/usaria…

Saída em gráficos eu não sei se tem como, nunca fiz. Mas imagino que não seja tão difícil nem que seja criar o seu próprio provedor (com a saída do TestNG em XML, uma transformação XSLT e algum framework de gráficos em Javascript dariam conta do recado).

Quanto a suítes de teste, você pode ver no próprio link que mandou. É a separação entre testes de stress, carga, integração, entre outros. E é nesse ponto que eu sempre prefiro o TestNG em relação ao JUnit, porque você consegue configurar mais opções nesse sentido.

[]'s

Criado 22 de março de 2013
Ultima resposta 4 de abr. de 2013
Respostas 26
Participantes 4