たった1つのコマンドで、60秒以内にNightwatchテストを実行するためのすべての設定を行います。新しいオンボーディングクライアントは、Nightwatchを初めて設定する開発者や、既存のプロジェクトで使用する開発者に強力なオンボーディングエクスペリエンスを提供することを目指しています。設定を迅速に行い、WebDriverと必要なパッケージを自動的にインストールする方法を学びましょう。
実行方法
すべてはコマンド npm init nightwatch
から始まります。
> npm init nightwatch
Need to install the following packages:
create-nightwatch
Ok to proceed? (y)
これは npx create-nightwatch
を使用するためのnpmエイリアスです。npx
は、ローカル依存関係にダウンロードせずにパッケージバイナリを実行するためのコマンドです。 npmはパッケージをキャッシュにインストールしてバイナリを実行します。新しいプロジェクトを開始する場合は、npm init nightwatch <directory>
を実行することもできます。
選択肢の流れ
セットアップは、さまざまなユースケースに対応するための質問リストに基づいています。
テストランナー
Nightwatchは他のテストランナーもサポートしています。Nightwatch以外にも、MochaやCucumberをテストランナーとして選択することもできます。
JavaScript / Typescript
Nightwatchは、v1.6.0以降のテストファイルでtypescriptをサポートしています。そのため、テストのセットアップにJavaScriptまたはTypescriptを選択できます。
===============================
Nightwatch Configuration Wizard
===============================
Just answer a few questions to get started with Nightwatch:
We'll setup everything for you :-)
? What is your Language - Test Runner setup? (Use arrow keys)
❯ JavaScript - Nightwatch Test Runner
JavaScript - Mocha Test Runner
JavaScript - CucumberJS Test Runner
TypeScript - Nightwatch Test Runner
TypeScript - Mocha Test Runner
ローカル / リモート
ローカルまたはリモートマシン、またはその両方でテストを実行するかどうかに応じて、設定とダウンロードをセットアップできます。
Where do you want to run your e2e tests? (Use arrow keys)
❯ On my local machine
On a remote machine (cloud)
Both
ブラウザの選択
テストするブラウザを選択すると、それらの設定が作成されます。複数の選択肢が用意されているため、テストしたいブラウザを好きなだけ選択できます。ローカルマシンでテストする場合は、selenium-serverを使用することもできます。
(Local) Where you'll be testing on? (Press <space> to select, <a> to toggle all, <i> to invert selection, and <enter> to proceed)
❯◉ Firefox
◯ Chrome
◯ Edge
◯ Safari
◯ IE (requires selenium-server)
◯ Local selenium-server
Macから実行する場合は、safaridriverがデフォルトで存在しますが、有効にする必要があります。
? Enable safaridriver (requires sudo password)? (Use arrow keys)
Yes
❯ No, I'll do that later.
リモートテストの場合は、リモートマシンのホストアドレスとポートを指定する必要があります。
? (Remote) What is the host address of your remote machine? (localhost)
? (Remote) What is the port on which your test backend is running on your remote machine? (80)
その他の部分
テスト方法の根本的な違いとは別に、アンケートに追加できる追加設定も随時追加しています。2022年5月現在、リストは次のとおりです。
- エンドツーエンドテストのディレクトリの場所
- プロジェクトの
base_url
- 設定のみを作成し、依存関係をダウンロードしない場合は、
--generate-config
を使用します。
結果
--generate-config
が指定されていない場合、スクリプトは必要なパッケージをインストールします。
Installing the following packages:
- nightwatch
- @nightwatch/selenium-server
- @cucumber/cucumber
ローカルテストの場合、スクリプトはブラウザの選択に基づいてwedドライバーもインストールします。
Installing/Updating the following webdrivers:
- geckodriver
- chromedriver
- iedriver
- safaridriver
デフォルトでは、設定ファイル nightwatch.conf.js
が生成され、tests/nightwatch-examples
に例があります。nightwatch.conf.js
がすでに存在する場合は、既存の設定ファイルを上書きするか、新しい設定ファイルを作成するかを選択できます。
? Do you want to overwrite the existing config file? No, create a new one!
? What should your new config file be called? ie-windows-test.conf.js
その後、このコマンドで例を実行できます。
npx nightwatch ./tests/nightwatch-examples
npm init nightwatch
