Selenium WebDriver - Automação de Teste

[quote=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?[/quote]
Qual a mensagem de erro? De qualquer maneira acho melhor voce postar a duvida tambem em um forum específico sobre Python.

[quote=Alexandre Saudate][quote=andredecotia]
Não recomendo o uso do TestNG, acho q é muito limitado… [/quote]

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

[]'s[/quote]

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.

[quote=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?[/quote]

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

[quote=andredecotia][quote=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?[/quote]

Tem certeza q existe o name=`q` na pagina?[/quote]

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.

[quote=andredecotia][quote=Alexandre Saudate][quote=andredecotia]
Não recomendo o uso do TestNG, acho q é muito limitado… [/quote]

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

[]'s[/quote]

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.[/quote]

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

[quote=Alexandre Saudate][quote=andredecotia][quote=Alexandre Saudate][quote=andredecotia]
Não recomendo o uso do TestNG, acho q é muito limitado… [/quote]

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

[]'s[/quote]

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.[/quote]

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[/quote]

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…

[quote=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…[/quote]

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