Page Object Model
Create a
base_page.pyfile with aBasePageclass that contains common methods used by all page objects:
class BasePage:
def __init__(self, driver):
self.driver = driver
def click(self, locator):
self.driver.find_element(*locator).click()
def enter_text(self, locator, text):
self.driver.find_element(*locator).send_keys(text)
def get_element_text(self, locator):
return self.driver.find_element(*locator).text
Create a
calculator_page.pyfile that represents the calculator screen and inherits fromBasePage:
from selenium.webdriver.common.by import By
from base_page import BasePage
class CalculatorPage(BasePage):
DISPLAY_RESULT = (By.ID, "result")
DIGIT_BUTTONS = (By.CLASS_NAME, "digit")
def get_display_result(self):
return self.get_element_text(self.DISPLAY_RESULT)
def enter_digit(self, digit):
locator = (self.DIGIT_BUTTONS[0], "{}Button".format(digit))
self.click(locator)
Create a
test_calculator.pyfile to write the tests:
Last updated