83 lines
2.6 KiB
Python
83 lines
2.6 KiB
Python
# pages/your_page_objects.py
|
|
|
|
from selenium.webdriver.common.by import By
|
|
from selenium.webdriver.support.ui import WebDriverWait
|
|
from selenium.webdriver.support import expected_conditions as ec
|
|
|
|
|
|
class Interface_0:
|
|
def __init__(self, driver):
|
|
self.driver = driver
|
|
# self.driver.get(url)
|
|
self.sign_in = self.get_clickable_element(By.TAG_NAME, 'a')
|
|
self.email = self.get_element(By.NAME, 'loginfmt')
|
|
self.next_btn = self.get_clickable_element(By.ID,"idSIButton9")
|
|
self.password = self.get_element(By.NAME, 'passwd')
|
|
self.sign_in_btn = self.get_clickable_element(By.ID, 'idSIButton9')
|
|
# "idBtn_Back"
|
|
# "idSIButton9"
|
|
|
|
def set_email(self,email):
|
|
self.email.clear()
|
|
self.email.send_keys(email)
|
|
|
|
def set_password(self, password):
|
|
self.password.clear()
|
|
self.password.send_keys(password)
|
|
|
|
def click_sign_in_link(self):
|
|
self.sign_in.click()
|
|
|
|
def click_next_btn(self):
|
|
self.next_btn.click()
|
|
|
|
def click_sign_in_btn(self):
|
|
self.sign_in_btn.click()
|
|
def navigate_to_page(self, url):
|
|
self.driver.get(url)
|
|
|
|
def sign_in(self, env_variables):
|
|
|
|
self.click_sign_in_link()
|
|
self.set_email(env_variables['username'])
|
|
self.click_next_btn()
|
|
self.set_password(env_variables['password'])
|
|
self.click_sign_in_btn()
|
|
self.title()
|
|
# print(env_variables['username'])
|
|
#
|
|
# sign_in = self.get_clickable_element(By.TAG_NAME, "a")
|
|
# sign_in.click()
|
|
#
|
|
# email = self.get_element(By.NAME, 'loginfmt')
|
|
# email.send_keys('ahinge@aarete.com')
|
|
#
|
|
# next_btn = self.get_clickable_element(By.ID,"idSIButton9")
|
|
# next_btn.click()
|
|
#
|
|
# password = self.get_element(By.NAME, 'passwd')
|
|
# password.send_keys('7387188738@Pr!nce')
|
|
#
|
|
# next_btn1 = self.get_clickable_element(By.ID, 'idSIButton9')
|
|
# next_btn1.click()
|
|
#
|
|
# self.title()
|
|
|
|
def title(self):
|
|
self.get_title("interface_0 · Streamlit")
|
|
|
|
def get_clickable_element(self, By, element_id):
|
|
return WebDriverWait(self.driver, timeout=10).until(
|
|
ec.element_to_be_clickable((By, element_id))
|
|
)
|
|
|
|
def get_element(self, By, element_id):
|
|
return WebDriverWait(self.driver, timeout=10).until(
|
|
ec.visibility_of_element_located((By, element_id))
|
|
)
|
|
|
|
def get_title(self, title):
|
|
return WebDriverWait(self.driver, timeout=50).until(
|
|
ec.title_contains(title)
|
|
)
|