
Nightwatchテスト自動化にAPIテストを追加する
テスト対象のソフトウェアがREST APIエンドポイントを公開している場合、UIを介するのではなく、APIを直接テストする方が効率的な場合があります。
Nightwatchは2014年1月に公開され、当初はAndrei Rusuによって、自動UIテストを簡単な方法で記述できるようにするためのツールとして作成されました。できるだけ少ない設定と追加ライブラリで済むようにという目的がありました。
公開直後から、Nightwatchは着実に成長し、現在ではWebアプリケーションやWebサイト向けの最も人気のあるNode.jsエンドツーエンドテストソリューションの1つになりました。
Evan You(Vue.jsの作成者)によって開かれた最初のGithub Issue、Vue.jsフレームワークとのシームレスな統合から、2017年のThoughtWorksテクノロジーレーダーに掲載されるまで、Nightwatchは自動テスト業界で確立された名前になりました。
多くのプラグインとカスタマイズをサポートする非常に柔軟なツールを構築する代わりに、箱から出してすぐに必要なものがすべて揃ったツールを提供することを目指しています。
テストを作成するには、複数の外部プラグインや依存関係を追加する必要はなく、テストの記述にのみ集中すべきだと考えています。私たちの経験では、これは通常、実際のテストを作成する代わりに、依存関係の保守と構成の問題の解決にますます多くの時間が費やされることにつながります。
ただし、必要に応じて既存のAPIコマンドとアサーションを拡張するメカニズムを提供しており、必要に応じてNightwatchをプログラムで利用することもできます。また、Nightwatchが業界で合意された慣行に従うように最善を尽くし、他の既存のツールとの互換性を維持しようと努めています。
バックエンドAPIをテストするために、NightwatchでNode.jsユニットテストを作成することもできます。これらのテストは、同じアサーションライブラリと、同じ構文およびランナーを使用します。エンドツーエンドテストとユニット/統合テストを同じテスト実行で組み合わせることもできます。
このバージョンでは、最新のMicrosoft Edgeブラウザの統合サポート、並列処理のサポートの改善、およびその他のいくつかの機能と改善(APIをチェーンとプロミス両方で動作させるなど)が追加されています。
テスト実行を大幅に安定させ、より信頼性の高いものにするSelenium Webdriver上に構築される、次のメジャーバージョンをリリースに向けて取り組んでいます。
Chrome Dev Tools Protocol、ファイルアップロード、新しいAPIなどの新しい機能もいくつか追加する予定です。
矛盾、タイプミス、間違いなど、ドキュメントに関する問題は、Docs Githubリポジトリで報告できます。
APIコマンドの例を投稿する場合は、このフォルダーに追加することで行うことができます: github.com/nightwatchjs/nightwatch-docs/tree/main/api/method。これらは、個々のAPIコマンドページに自動的に組み込まれます。
たとえば、clearValueページは、github.com/nightwatchjs/nightwatch-docs/blob/main/api/method/clearValue.mdから構築されています。
NightwatchまたはそのAPIの使用に関して質問がある場合は、Github Discussionsページでお気軽にお尋ねください。バグを報告する場合は、Githubで新しいバグレポートを送信してください。機能リクエストも歓迎します。
新規貢献者向け: これらのリソースもご確認ください
Nightwatchチームメンバーや他のユーザーとチャットできる新しいチャットサーバーをDiscordにセットアップしました。参加するにはこのリンクを使用してください
https://discord.gg/SN8Da2X
Twitterでは@nightwatchjsで、リリースやその他の種類の発表に関する最新情報を投稿しています。
さらに、StackOverflow Nightwatch.jsタグも利用できます。
Nightwatchコミュニティからの記事、ガイド、ビデオチュートリアルの厳選されたリスト。ここに掲載されているビデオや記事は、Nightwatchチームによって作成されたものではなく、その完全な正確性を保証することはできませんのでご注意ください。
テスト対象のソフトウェアがREST APIエンドポイントを公開している場合、UIを介するのではなく、APIを直接テストする方が効率的な場合があります。
このガイドでは、TypeScript対応のNightwatch自動テストスイートを作成する方法をステップバイステップで説明します。
Test Automation Universityからの、Nightwatchを使用してWeb UIテストを自動化する方法を学ぶための完全なビデオコース。
Nightwatchテストケースをリファクタリングして、ページオブジェクトモデルAPIとページコマンドを使用する方法に関するステップバイステップガイド。
NightwatchとAxeアクセシビリティツールを使用して、自動アクセシビリティテストを作成する方法を学びます。このチュートリアルでは、Webコンテンツアクセシビリティガイドラインのアサーションを記述し、アクセシビリティルールに違反している要素を検出する方法について説明します。
Nightwatchの共同作成者であるDomenicoが、エンドツーエンドテスト(およびその他の形式のテスト)が彼にとって重要なトピックである理由を説明します。テストピラミッドの概念の良い説明と自動テストの良い入門です。
Domenicoは、Browserstackクラウドテストプラットフォームを使用して、Nightwatchでエンドツーエンドテストを実行する方法を説明します。彼のYoutubeチャンネルで、他のNightwatch関連のコーディングビデオを見つけることができます。
Nightwatchを使用してExpressアプリのセキュリティを向上させる方法に関する拡張ガイド。
Percy.ioのエンジニアであるDavid Jonesが、自動ビジュアルテストのためにNightwatch.jsテストにPercyスナップショットを追加する方法を紹介します。
人気のDrupal CMSのコアJavaScriptメンテナーであるSally Youngが、Drupal 8.6へのNightwatchの統合について説明します。
Firefoxパブリックデータレポートを動かすプラットフォーム。これは、Firefoxデスクトップユーザーのアクティビティ、動作、ハードウェア構成に関する週ごとのパブリックレポートです。Reactで構築され、Nightwatch v1.2を使用しています。
AWXは、Ansibleの上に構築されたWebベースのユーザーインターフェイス、REST API、およびタスクエンジンを提供します。AWXはPythonで構築されており、Nightwatch v0.9を使用しています。
Worldviewは、グローバルなフル解像度の衛星画像を閲覧するためのインタラクティブなインターフェイスです。Reactで構築され、Nightwatch v0.9を使用しています。
WebRTCサンプル。これは、WebRTC APIのさまざまな部分を示す小さなサンプルのコレクションです。Nightwatch v1.1を使用しています。
BrowserStack Automateインフラストラクチャに対してNightwatchテストを実行するための例。Nightwatch v1.0を使用しています
このページに掲載すべき記事やオープンソースプロジェクトがあれば、お気軽にお知らせください。