跳至内容

页面配置模型

页面配置模型是 页面对象模型 设计模式的一种变体。

页面配置对象包装了一个 HTML 页面或片段,并提供了一个特定于应用程序的 API,允许您操作页面元素,而无需在 HTML 中查找。

主要区别在于 PCM 使用 **配置而不是代码** 来抽象选择器。这是根据 最小权限原则 进行的。

示例

pcm.next_page("login")
pcm.element("username").fill("myusername")
pcm.element("password").fill("mypassword")
pcm.element("ok").click()
pcm.next_page("dashboard") expect(pcm.element("message")).to_be_visible()

以及相应的页面配置

login:
  element:
    username: "#id_username"
    password: "#id_password"
    ok: "#id_ok_button"
dashboard:
   element:
     message: "#id_dashboard_message"

页面配置模型是 hitchpage 展现的一种模式,hitchpage 被设计用于与 hitchstory 测试和文档框架一起使用。

这样一来,开发人员就可以编写声明式的、可测试的规范场景,这些场景与选择器完全解耦,因此可读且可执行。例如

- enter:
    username: myusername
    password: mypassword
- click: ok
- new page: dashboard
- expect: message

与页面对象模型不同,页面配置模型模式目前建立在以下假设之上:默认情况下,粒度交互(例如,单击按钮、填充文本框)都是规范中对利益相关者可能感兴趣的部分,因此默认情况下不应该抽象出来。