PO设计思维之公共元素代码封装

2023-07-23  本文已影响0人  DD丿

一、在 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类,即可使用其中的元素定位和操作方法。

上一篇 下一篇

猜你喜欢

热点阅读