def __init__(self): super().__init__(By.ID, "main-slideshow", "Weather main page") self.txb_search = WebTextBox(By.XPATH, "//input[@placeholder='Your city name']") self.btn_search = WebElement(By.XPATH, "//button[contains(text(),' Search')]") self.btn_sign_in = WebElement(By.XPATH, "//a[@href='/home/sign_in']")
class HomePage(WebPage): def __init__(self): super().__init__(By.ID, "myTab", "Account Home Page") self.lnk_api_keys = WebElement(By.XPATH, "//li/a[@href='/api_keys']") self.lbl_api_key = WebElement(By.XPATH, "//table//pre") def click_api_keys_menu(self): self.lnk_api_keys.click()
class SearchResult(WebPage): def __init__(self): super().__init__(By.XPATH, "//h2[text()='Weather in your city']", "Search Result page") self.lnk_search_result_row = WebElement(By.XPATH, "//table//a") def click_first_result(self): self.lnk_search_result_row.wait_element() self.lnk_search_result_row.click()
def __init__(self): super().__init__(By.XPATH, "//h1[text()='Weather forecast']", "City Details Page") self.widget_temperature = WebElement(By.ID, "weather-widget-temperature") self.lbl_pressure = WebElement( By.XPATH, "//td[text()='Pressure']/following-sibling::td[1]") self.lbl_humidity = WebElement( By.XPATH, "//td[text()='Humidity']/following-sibling::td[1]") self.lbl_sunrise = WebElement( By.XPATH, "//td[text()='Sunrise']/following-sibling::td[1]") self.lbl_sunset = WebElement( By.XPATH, "//td[text()='Sunset']/following-sibling::td[1]")
class SignInPage(WebPage): def __init__(self): super().__init__(By.CLASS_NAME, "sign-form", "Sign In Page") self.txb_email = WebTextBox(By.ID, "user_email") self.txb_password = WebTextBox(By.ID, "user_password") self.btn_submit = WebElement(By.XPATH, "//input[@value='Submit']") def fill_email(self, email): self.txb_email.set_text(email) def fill_password(self, password): self.txb_password.set_text(password) def click_submit_btn(self): self.btn_submit.click()
class MainPage(WebPage): def __init__(self): super().__init__(By.ID, "main-slideshow", "Weather main page") self.txb_search = WebTextBox(By.XPATH, "//input[@placeholder='Your city name']") self.btn_search = WebElement(By.XPATH, "//button[contains(text(),' Search')]") self.btn_sign_in = WebElement(By.XPATH, "//a[@href='/home/sign_in']") def fill_city_to_search(self, city): self.txb_search.set_text(city) def click_search(self): self.btn_search.click() def click_sign_in(self): self.btn_sign_in.click()
def menu(self): return WebElement(By.CSS_SELECTOR, "div[aria-hidden='false']")
def __init__(self): super().__init__(By.ID, "myTab", "Account Home Page") self.lnk_api_keys = WebElement(By.XPATH, "//li/a[@href='/api_keys']") self.lbl_api_key = WebElement(By.XPATH, "//table//pre")
def __init__(self): super().__init__(By.CLASS_NAME, "sign-form", "Sign In Page") self.txb_email = WebTextBox(By.ID, "user_email") self.txb_password = WebTextBox(By.ID, "user_password") self.btn_submit = WebElement(By.XPATH, "//input[@value='Submit']")
def __init__(self): super().__init__(By.XPATH, "//h2[text()='Weather in your city']", "Search Result page") self.lnk_search_result_row = WebElement(By.XPATH, "//table//a")