23 lines
915 B
Python
23 lines
915 B
Python
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
|