From 8840d991503505b5f8325578e5a74b07293a6def Mon Sep 17 00:00:00 2001 From: Brandon Rodriguez <brodriguez8774@gmail.com> Date: Sun, 5 Nov 2023 01:09:49 -0400 Subject: [PATCH] Improve handling of selenium and firefox --- .../mixins/live_server_mixin.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/django_expanded_test_cases/mixins/live_server_mixin.py b/django_expanded_test_cases/mixins/live_server_mixin.py index 0864bc1..c503ba3 100644 --- a/django_expanded_test_cases/mixins/live_server_mixin.py +++ b/django_expanded_test_cases/mixins/live_server_mixin.py @@ -68,15 +68,18 @@ class LiveServerMixin(ResponseTestCaseMixin): # Add window position data to driver options. self._options.add_argument('window-position={0},{1}'.format(window_x, window_y)) + # Avoid possible error when many drivers are opened. + # See https://stackoverflow.com/a/56638103 + global SELENIUM_DEBUG_PORT + SELENIUM_DEBUG_PORT += 1 + # Create instance, based on selected driver type. if self._browser == 'chrome': - # # Avoid possible error when many drivers are opened. - # # See https://stackoverflow.com/a/56638103 - global SELENIUM_DEBUG_PORT - SELENIUM_DEBUG_PORT += 1 + self._options.add_argument('--remote-debugging-port={0}'.format(SELENIUM_DEBUG_PORT)) driver = webdriver.Chrome(service=self._service, options=self._options) elif self._browser == 'firefox': + self._service = webdriver.firefox.service.Service(port=SELENIUM_DEBUG_PORT) driver = webdriver.Firefox(service=self._service, options=self._options) else: raise ValueError('Unknown browser "{0}".'.format(self._browser)) -- GitLab