Когда я запускаю тесты на сайте django, используя селен и хромедрайвер, я получаю много сообщений ConnectionResetErrors. Полный вывод ошибок включен внизу. Обратите внимание, что тесты проходят нормально, несмотря на это - проблема заключается в потоке сообщений об исключениях в консоли. При использовании geckodriver не возникает никаких ошибок ConnectionResetEr. Если я запускаю какой-либо один тест, ошибка не возникает, но когда я запускаю все тесты, вывод консоли залит этими ошибками.
Я уже просмотрел ответы на подобные вопросы, но не смог найти ни одного подходящего решения.
Мои тестовые примеры расширяют общий класс, который обрабатывает setUp и tearDown. Этот общий класс в свою очередь расширяет StaticLiveServerTestCase.
Соответствующая часть метода setUp:
self.chromedriver = chrome.webdriver.WebDriver(executable_path=r"chromedriver.exe")
self.chromedriver.implicitly_wait(10)
Никакие другие строки кода не влияют на конфигурацию объекта self.chromedriver.
Я пытался вызвать self.chromedriver.quit()
в методе tearDown, но, похоже, это вызывает больше сообщений об ошибках того же типа. Это также вызывает сообщение об ошибке при запуске одного теста.
Что вызывает поток ConnectionResetErrors?
Версии:
> python -c "import selenium; print(selenium.__version__)"
3.141.0
Хром: 73.0.3683.103
> chromedriver --version
ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72)
ОС Windows 10, сборка 16299.1087
> python --version
Python 3.7.2
> django-admin --version
2.1.7
Редактировать: Мне не удалось определить точную причину проблемы, но, похоже, это было связано с использованием chromedriver и Django LiveServerTestCase. На данный момент я прекратил использовать LiveServerTestCase. Вместо этого я использую Python UnitTest и отдельно выполняю настройку тестовой базы данных и запуск сервера Django wsgi.
Полный вывод консоли для одного теста с явным завершением:
> py manage.py test main.tests.test_pages.test_request_help
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
DevTools listening on ws://127.0.0.1:54845/devtools/browser/1c099597-7692-4fe8-b463-783e501f1853
Testing request help page using driver chrome
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 54863)
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 171, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
----------------------------------------
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 54873)
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 169, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
----------------------------------------
----------------------------------------
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 54862)
Exception happened during processing of request from ('127.0.0.1', 54872)
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 54871)
Traceback (most recent call last):
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 169, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 169, in handle
self.handle_one_request()
----------------------------------------
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
----------------------------------------
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 171, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
----------------------------------------
.
----------------------------------------------------------------------
Ran 1 test in 9.580s
OK
Destroying test database for alias 'default'...
Полный вывод для всех тестов без явного завершения:
> py manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
DevTools listening on ws://127.0.0.1:55279/devtools/browser/78eed288-e607-442a-8657-4439409d5692
Testing about page using driver chrome
.
DevTools listening on ws://127.0.0.1:55309/devtools/browser/2190ae47-c711-41fa-922f-9115d50065fd
Testing home page using driver chrome
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 55297)
----------------------------------------
Traceback (most recent call last):
Exception happened during processing of request from ('127.0.0.1', 55294)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 169, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 171, in handle
self.handle_one_request()
----------------------------------------
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
----------------------------------------
.
DevTools listening on ws://127.0.0.1:55354/devtools/browser/e94aab0a-fb6b-4950-b8b9-ccee2c601cfa
Testing home page using driver chrome
.
DevTools listening on ws://127.0.0.1:55380/devtools/browser/d82461dc-4436-4d81-b21e-4091e9412225
Testing home page using driver chrome
.
DevTools listening on ws://127.0.0.1:55410/devtools/browser/e7b13108-1259-4094-a8be-7963e19d549d
Testing navbar using driver chrome
.
DevTools listening on ws://127.0.0.1:55444/devtools/browser/941ec710-590f-49f1-9aca-912dd453ae8e
Testing request help page using driver chrome
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 55370)
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
----------------------------------------
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 55372)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
Exception happened during processing of request from ('127.0.0.1', 55368)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 169, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
----------------------------------------
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 169, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 171, in handle
self.handle_one_request()
----------------------------------------
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
----------------------------------------
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 55395)
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 171, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
----------------------------------------
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 55429)
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 169, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
----------------------------------------
----------------------------------------
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 55425)
Exception happened during processing of request from ('127.0.0.1', 55430)
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 55428)
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
Traceback (most recent call last):
Traceback (most recent call last):
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 169, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 169, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
----------------------------------------
----------------------------------------
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socketserver.py", line 720, in __init__
self.handle()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 171, in handle
self.handle_one_request()
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\[redacted]\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
----------------------------------------
.
----------------------------------------------------------------------
Ran 6 tests in 38.146s
OK
Destroying test database for alias 'default'...