46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
from selenium.webdriver.common.by import By
|
|
from selenium.webdriver.support.ui import WebDriverWait
|
|
from selenium.webdriver.support import expected_conditions as EC
|
|
from selenium.common.exceptions import TimeoutException
|
|
|
|
class ResumePembelajaranPage:
|
|
|
|
# ===== Locator =====
|
|
PAGE_TITLE = (By.XPATH, "//h4[normalize-space()='Resume Pembelajaran']")
|
|
|
|
EMPTY_MESSAGE = (
|
|
By.CSS_SELECTOR,
|
|
"div.text-center.text-muted"
|
|
)
|
|
|
|
RESUME_CARD = (By.CSS_SELECTOR, "div.card")
|
|
RESUME_CONTENT = (By.CSS_SELECTOR, "div.card-body pre")
|
|
|
|
def __init__(self, driver):
|
|
self.driver = driver
|
|
self.wait = WebDriverWait(driver, 10)
|
|
|
|
# ===== Assertions / Getters =====
|
|
def page_loaded(self):
|
|
self.wait.until(EC.visibility_of_element_located(self.PAGE_TITLE))
|
|
|
|
|
|
def is_empty_message_displayed(self):
|
|
try:
|
|
self.wait.until(
|
|
EC.presence_of_element_located(self.EMPTY_MESSAGE)
|
|
)
|
|
return True
|
|
except TimeoutException:
|
|
return False
|
|
|
|
def is_resume_displayed(self):
|
|
return self.wait.until(
|
|
EC.visibility_of_element_located(self.RESUME_CARD)
|
|
)
|
|
|
|
def get_resume_text(self):
|
|
return self.wait.until(
|
|
EC.visibility_of_element_located(self.RESUME_CONTENT)
|
|
).text
|