一、在 Page Object 模式中,公共元素代码库通常是一个包含页面元素的类或模块。这个代码库用于存放所有页面对象共享的元素定位和操作代码,以便其他页面对象可以重用这些元素。
class CommonElements:
def __init__(self, driver):
self.driver = driver
# 公共元素的定位器
SEARCH_INPUT = (By.ID, 'search-input')
LOGIN_BUTTON = (By.XPATH, '//button[@id="login-button"]')
LOGOUT_BUTTON = (By.XPATH, '//button[@id="logout-button"]')
# 公共元素的操作方法
def enter_search_text(self, text):
search_input = self.driver.find_element(*self.SEARCH_INPUT)
search_input.clear()
search_input.send_keys(text)
def click_login_button(self):
login_button = self.driver.find_element(*self.LOGIN_BUTTON)
login_button.click()
def click_logout_button(self):
logout_button = self.driver.find_element(*self.LOGOUT_BUTTON)
logout_button.click()
1.1 在这个示例中,CommonElements类定义了一些公共元素的定位器(使用By类来指定元素定位方式)和操作方法。其中的SEARCH_INPUT、LOGIN_BUTTON和LOGOUT_BUTTON是常量,用于定位对应的页面元素。
1.2 操作方法如enter_search_text、click_login_button和click_logout_button可以在其他页面对象中被调用,以实现对这些公共元素的操作。实际应用中可以在lib库新建一个公共元素文件,名为Com_element,以便在case库调用
1.3 通过这种方式,公共元素代码库可以减少重复代码的编写,并提高代码的可维护性和可重用性。其他页面对象只需引用并实例化CommonElements类,即可使用其中的元素定位和操作方法。
网友评论