1
resposta

nao consigo arrumar o erro

from django.test import LiveServerTestCase
from selenium import webdriver

class AnimaisTestCase(LiveServerTestCase):
    def setUp(self):
        self.browser = webdriver.Chrome('c:/Users/Michail/Desktop/tdd_busca_animal/chromedriver.exe')

    def tearDown(self):
        self.browser.quit()


    def test_buscando_um_novo_animal(self):
        """
        Teste se um usuário encontra um animal pesquisando
        """
        # Vini, deseja encontrar um novo animal,
        # para adotar.

        # Ele encontra o Busca Animal e decide usar o site,
        home_page = self.browser.get(self.live_server_url + '/')
        # porque ele vê no menu do site escrito Busca Animal.
        brand_element = self.browser.find_element(By.CSS_SELECTOR, '.navbar')
        self.assertEqual('Busca Animal', brand_element.text)

        # Ele vê um campo para pesquisar animais pelo nome. 

        # Ele pesquisa por Leão e clica no botão pesquisar.

        # O site exibe 4 caracteristicas do animal pesquisado.

        # Ele desiste de adotar um leão.
        pass

o erro que da


        [01/Sep/2022 15:23:34,842] - Broken pipe from ('127.0.0.1', 64842)
E
======================================================================
ERROR: test_buscando_um_novo_animal (setup.test.AnimaisTestCase)
Teste se um usuário encontra um animal pesquisando
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\Michail\Desktop\tdd_busca_animal\setup\test.py", line 22, in test_buscando_um_novo_animal
    brand_element = self.browser.find_element(By.CSS_SELECTOR, '.navbar')
NameError: name 'By' is not defined

----------------------------------------------------------------------
Ran 1 test in 9.690s

FAILED (errors=1)
Destroying test database for alias 'default'...

não consigo arrumar

1 resposta

Olá Michail, tudo bem com você?

Peço desculpas pela demora no retorno.

O erro NameError: name 'By' is not defined está sendo apresentado no momento da execução do teste devido ao fato de a função By não ter sido importada da biblioteca selenium.

Para realizar a correção do erro apresentado basta realizar a importação da função, acrescentando no topo do arquivo setup/tests.py a seguinte linha de código.

from selenium.webdriver.common.by import By

Após adicionar a linha de código apresentada acima, salve o arquivo e execute um novo teste.

Peço que teste o proposto acima, caso o erro permaneça ou tenha dúvidas, encontro-me à disposição.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software