pages/desktop/reviewer_tools/log_details.py (34 lines of code) (raw):

from selenium.webdriver.common.by import By from pages.desktop.base import Base class LogDetails(Base): _log_details_text_locator = (By.XPATH, "//h2[contains(text(),'Log details')]") _review_author_text_locator = (By.XPATH, "//dt[contains(text(),'Review Author')]") _addon_title_text_locator = (By.XPATH, "//dt[contains(text(),'Add-on Title')]") _review_text_locator = (By.XPATH, "//dt[contains(text(),'Review Text')]") _undelete_button_locator = (By.CSS_SELECTOR, "input#submit-undelete-review") # Log details section interaction methods @property def log_details_text(self): return self.find_element(*self._log_details_text_locator) @property def review_author_text(self): return self.find_element(*self._review_author_text_locator) @property def addon_title_text(self): return self.find_element(*self._addon_title_text_locator) @property def review_text(self): return self.find_element(*self._review_text_locator) @property def undelete_button(self): return self.find_element(*self._undelete_button_locator) # Assert Method def assert_log_details_section_elements(self): assert self.review_author_text.is_displayed(), "Review author text is not displayed" assert self.addon_title_text.is_displayed(), "Addon title text is not displayed" assert self.review_text.is_displayed(), "Review text is not displayed" def wait_for_page_to_load(self): self.wait.until( lambda _: self.find_element(*self._log_details_text_locator).is_displayed(), message="Log details was not loaded", ) assert "Log details" in self.log_details_text.text return self