Тесты selenium в веб-приложении django не работают

Я провожу некоторые тесты на моем django webapp. Я устанавливаю веб-драйвер firefox(geckodriver) в /home/nicola/selenium_drivers/geckodriver, устанавливаю разрешение на выполнение и так далее.

Вот мой тест

from django.test import TestCase
from django.test import LiveServerTestCase
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from pygiustizia.models import Users
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
from datetime import datetime, date


class ViewsTopicsTestCase(LiveServerTestCase):

    USERNAME = None
    PASSWORD = None
    BASE_URL = None

    def setUp(self):
        self.BASE_URL = self.live_server_url
        self.USERNAME = 'nicolapaganotti1@gmail.com'
        self.PASSWORD = '$2b$12$Xv0W8PCBnGTqNpo96gxS/e3olh685kMyxE2tFM028Ex7bz/7Y3nMS'
        d = datetime(2022, 7, 20, 10, 10, 10, 342380)
        
        options = Options()
        #options.binary_location = '/usr/bin/firefox'
        options.add_argument("binary_location=/usr/bin/firefox")
        self.driver = webdriver.Firefox(options=options,executable_path=r'/home/nicola/selenium_drivers/geckodriver')
        #self.driver = webdriver.Firefox()
        # create user
        self.user = Users.objects.create_user(username=self.USERNAME,
                                              admin=1,
                                              firstname="Nicola",
                                              lastname="Paganotti",
                                              created_at=d,
                                              password=self.PASSWORD)

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

    def test_login(self):
        self.driver.get(self.BASE_URL + '/pygiustizia/login')

        username = self.driver.find_element_by_name("username")
        username.send_keys(self.USERNAME)

        password = self.driver.find_element_by_name("password")
        password.send_keys(self.PASSWORD)

        btn_login = self.driver.find_element_by_name("submit_login")
        # Login
        btn_login.click()

        # Check home page
        WebDriverWait(self.driver, 5).until(
            EC.presence_of_element_located((By.CSS_SELECTOR, '.selAddField')))

Когда я запускаю python3.9 manage.py test

В терминале я получаю следующий вывод:

Traceback (most recent call last):
  File "/var/www/html/elastic_queries/python/djangosite/giustiziasite/pygiustizia/tests/test_views_topics.py", line 33, in setUp
    self.driver = webdriver.Firefox(options=options,executable_path=r'/home/nicola/selenium_drivers/geckodriver')
  File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/firefox/webdriver.py", line 177, in __init__
    super().__init__(
  File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/remote/webdriver.py", line 277, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/remote/webdriver.py", line 370, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/remote/webdriver.py", line 435, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/remote/errorhandler.py", line 247, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status

Не понимаю, что-то вылетает в ошибку. Ошибка типовая:Сообщение: Процесс неожиданно закрыт со статусом. Как я могу ее решить?

Вернуться на верх