【问题标题】:Nightwatch Page Object hierarchy/re-useNightwatch 页面对象层次结构/重用
【发布时间】:2019-02-28 00:49:38
【问题描述】:

我想将 Nightwatch 的页面对象系统用于我们应用中使用的 UI 组件。因为 nightwatch 有自己的读取/初始化它们的方式,所以我看不到正确扩展/重用它们的方法。

例如,我想要一个 DateInputPageObject 用于“日期字段”。它将识别标签、输入、日期选择器等。

我会在任何带有日期输入字段的页面上使用它。

我还想扩展页面对象。例如,class FooModal extends ModalModalPageObject 将为所有模态框拥有的元素定义选择器 - 覆盖、容器、关闭按钮等。

我在守夜人中找不到任何方法,有可能吗?

【问题讨论】:

    标签: nightwatch.js


    【解决方案1】:

    问题不在于 nightwatch 本身,因为它只是遵循页面对象模型的基本结构,但这是一个非常好的问题,它带来了页面对象模型的缺点之一。

    页面对象模型已经存在了一段时间,但问题在于它不能满足使用组件库和生活方式指南以及重用组件的现代 Web 应用程序的需求。

    就我个人而言,我发现使用全局 json 文件更容易,所有组件都根据它们的类型进行结构化。例如标签、字段、按钮等。

    【讨论】:

    • 但是 NW 肯定会妨碍,因为在其他项目中,POM 更像是可以以这种方式使用的普通类结构。例如,我现在使用 TestCafe 执行此操作。因为 NW 处理解析/实例化它们,所以它窃取了对该结构的控制。
    • NW 确实试图让 POM 更容易使用,但它也是一个有限的功能。您可能想在 NW 结构之外搜索此内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多