Files
doczyai-pipelines/Doczy.AI_Automation/pages/interface_0_page_objects.py
T
2024-05-07 18:13:51 +05:30

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)
)