概要

ページオブジェクトを作成するには、ページを記述するプロパティを持つオブジェクトを作成するだけです。各ページオブジェクトは別々のファイルに配置する必要があります。

ページオブジェクトの場所の設定

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が動的な場合は、関数にすることもできます。これの1つのユースケースは、異なるテスト環境をサポートすることです。ページのコンテキストで呼び出される関数を作成できるため、以下を実行できます。

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