首页/开发/软件测试速查/Page Object 模式
自动化测试66 条

Page Object 模式

Page Object 把页面元素定位与操作封装成类,用例只调用业务动作(如 login(user, pwd));页面改版时定位集中修改,用例层保持稳定。

软件测试速查开发更新于 2026-10-12

封装示例

封装示例
class LoginPage:
    def __init__(self, driver):
        self.driver = driver
        self.user = (By.ID, "user")

    def login(self, name, password):
        self.driver.find_element(*self.user).send_keys(name)
        self.driver.find_element(By.ID, "pwd").send_keys(password)
        self.driver.find_element(By.ID, "submit").click()
页面类只负责「怎么操作」,断言与业务预期留在用例层,职责更清晰。

易错点

  • 在 Page Object 里写断言与测试流程,职责边界被打破
  • 单个页面类堆入全部元素与动作,规模变大后难以维护

数据来源与参考

  • Selenium 官方文档:Page object models(selenium.dev)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌