概觀

要建立頁面物件,只需建立一個具有描述頁面屬性的物件即可。每個頁面物件都應位於單獨的檔案中。

設定頁面物件位置

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: {}
};