概述

要创建页面对象,只需创建一个具有描述页面的属性的对象。每个页面对象都应该位于单独的文件中。

配置页面对象位置

Nightwatch 从在 page_objects_path 配置属性中指定的一个或多个文件夹中读取页面对象,例如:

nightwatch.json
{
  "page_objects_path": ["nightwatch/pages"]
}

page_objects_path 属性也可以是一个文件夹数组,这样您就可以将页面对象逻辑地拆分成更小的组。

设置 .url 属性

您可以选择添加一个 url 属性,该属性指定页面的 URL。要导航到该页面,您可以在页面对象上调用 navigate 方法。

URL 通常被定义为一个字符串

nightwatch/pages/examplePage.js
module.exports = {
  url: 'https://google.com',
  elements: {}
};

它也可以是一个函数,以防 URL 是动态的。此功能的一种用例是支持不同的测试环境。您可以创建一个在页面上下文中调用的函数,从而允许您进行

nightwatch/pages/examplePage.js
module.exports = {
  url: function() { 
    return this.api.launchUrl + '/login'; 
  },
  elements: {}
};