From 64cd554416084359ec232f0ebbc547e9534a6f6c Mon Sep 17 00:00:00 2001 From: Gagan Deep Date: Tue, 14 Jul 2026 17:12:27 +0530 Subject: [PATCH 1/2] [chores] Made SeleniumTestMixin to use it's own find_element method Instead of using driver.find_element, the public methods of SeleniumTestMixin shall use `self.find_element` and pass the driver instance. --- openwisp_utils/tests/selenium.py | 16 +++++++++++----- requirements-test.txt | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/openwisp_utils/tests/selenium.py b/openwisp_utils/tests/selenium.py index 30c7333fe..e56519763 100644 --- a/openwisp_utils/tests/selenium.py +++ b/openwisp_utils/tests/selenium.py @@ -367,15 +367,21 @@ def login(self, username=None, password=None, driver=None): driver.get(f"{self.live_server_url}/admin/login/") self._wait_until_page_ready(driver=driver) if "admin/login" in driver.current_url: - driver.find_element(by=By.NAME, value="username").send_keys(username) - driver.find_element(by=By.NAME, value="password").send_keys(password) - driver.find_element(by=By.XPATH, value='//input[@type="submit"]').click() + self.find_element(by=By.NAME, value="username", driver=driver).send_keys( + username + ) + self.find_element(by=By.NAME, value="password", driver=driver).send_keys( + password + ) + self.find_element( + by=By.XPATH, value='//input[@type="submit"]', driver=driver + ).click() self._wait_until_page_ready(driver=driver) def logout(self, driver=None): driver = driver or self.web_driver - self.web_driver.find_element(By.CSS_SELECTOR, ".account-button").click() - self.web_driver.find_element(By.CSS_SELECTOR, "#logout-form button").click() + self.find_element(By.CSS_SELECTOR, ".account-button", driver=driver).click() + self.find_element(By.CSS_SELECTOR, "#logout-form button", driver=driver).click() def find_element(self, by, value, timeout=2, driver=None, wait_for="visibility"): driver = driver or self.web_driver diff --git a/requirements-test.txt b/requirements-test.txt index 2481a8902..0e4223d5c 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,5 +1,5 @@ # For testing Dependency loaders -openwisp_controller @ https://github.com/openwisp/openwisp-controller/tarball/master +openwisp_controller @ https://github.com/openwisp/openwisp-controller/archive/refs/heads/master.tar.gz freezegun pytest pytest-mock From b82d078e7743e506e3357e25381e713f544f1e6d Mon Sep 17 00:00:00 2001 From: Federico Capoano Date: Tue, 14 Jul 2026 11:42:27 -0300 Subject: [PATCH 2/2] [chores] Addressed coderabbitai's comment --- openwisp_utils/tests/selenium.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openwisp_utils/tests/selenium.py b/openwisp_utils/tests/selenium.py index e56519763..c0db942fc 100644 --- a/openwisp_utils/tests/selenium.py +++ b/openwisp_utils/tests/selenium.py @@ -386,13 +386,13 @@ def logout(self, driver=None): def find_element(self, by, value, timeout=2, driver=None, wait_for="visibility"): driver = driver or self.web_driver method = f"wait_for_{wait_for}" - getattr(self, method)(by, value, timeout) + getattr(self, method)(by, value, timeout, driver=driver) return driver.find_element(by=by, value=value) def find_elements(self, by, value, timeout=2, driver=None, wait_for="visibility"): driver = driver or self.web_driver method = f"wait_for_{wait_for}" - getattr(self, method)(by, value, timeout) + getattr(self, method)(by, value, timeout, driver=driver) return driver.find_elements(by=by, value=value) def wait_for_visibility(self, by, value, timeout=2, driver=None):