from django.urls import reverse from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys class SeleniumAuthMixin: def login(self, driver, username, password): driver.get(self.complete_url(reverse('dav_auth:login'))) username_field = self.wait_on_presence(driver, (By.ID, 'id_username')) username_field.clear() username_field.send_keys(username) password_field = driver.find_element(By.ID, 'id_password') password_field.clear() password_field.send_keys(password) password_field.send_keys(Keys.RETURN) self.wait_on_presence(driver, (By.CSS_SELECTOR, "#messages .alert-success")) return driver def logout(self, driver): driver.get(self.complete_url(reverse('dav_auth:logout'))) self.wait_on_presence(driver, (By.CSS_SELECTOR, "#messages .alert-success")) return driver