たった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以外にも、MochaCucumberをテストランナーとして選択することもできます。

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
💡
60秒で始めましょう! npm init nightwatch
60秒で始めましょう!
私たちはオープンソースを愛しています - BrowserStack
BrowserStackは、オープンソースプロジェクト向けに無料のWebおよびモバイルテストを提供しています。実際のデバイスクラウドでWebおよびモバイルアプリをテストしてください。プロジェクトの詳細を添えて申請してください。