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