
Nightwatchテスト自動化にAPIテストを追加
テスト対象のソフトウェアがREST APIエンドポイントを公開している場合、UIを介してではなく、APIを直接テストする方が効率的な場合があります。
Nightwatchは、2014年1月にAndrei Rusuによって、自動化されたUIテストを簡単な方法で記述できるようにするためのツールとして、また、できる限り設定や追加のライブラリを必要としないように作成されました。
公開直後から、Nightwatchは着実に成長し、現在ではWebアプリケーションやWebサイト向けの最も人気のあるNode.jsエンドツーエンドテストソリューションの1つになりました。
最初のGithub IssueをEvan You(Vue.jsの作成者)が開設し、Vue.jsフレームワークとのシームレスな統合から、2017年のThoughtWorks Technology Radarに掲載されるまで、Nightwatchは、広範な自動テスト業界で確立された有名ブランドになりました。
多くのプラグインとカスタマイズをサポートする柔軟性の高いツールを構築する代わりに、すぐに使える必要なものがすべて揃ったツールを提供することを目指しています。
テストを作成するためには、テストの作成に集中するだけで、複数の外部プラグインや依存関係を追加する必要はないと考えています。私たちの経験では、通常、これは実際のテストを書く代わりに、依存関係の維持や構成の問題の解決にますます多くの時間が費やされることにつながります。
ただし、必要に応じて、既存のAPIコマンドとアサーションを拡張するメカニズムを提供し、必要に応じてNightwatchをプログラムで使用することもできます。また、Nightwatchが業界で合意された慣習に従うように最善を尽くし、他の既存のツールとの互換性を維持するように努めています。
NightwatchでNode.js単体テストを作成して、バックエンドAPIをテストすることもできます。これらのテストは、同じアサーションライブラリと同じ構文とランナーを使用します。エンドツーエンドテストを同じテスト実行で単体/統合テストと組み合わせることもできます。
このバージョンでは、最新のMicrosoft Edgeブラウザの統合サポート、並列処理の改善、その他のいくつかの機能と改善(チェーンとpromiseの両方で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自動テストスイートを作成する方法を段階的に説明します。
テスト自動化大学から、Nightwatchを使用したWeb UIテストの自動化を学習するための完全なビデオコース。
ページオブジェクトモデルAPIとページコマンドを使用するようにNightwatchテストケースをリファクタリングする方法に関する段階的なガイド。
NightwatchとAxeアクセシビリティツールを使用して、自動アクセシビリティテストを作成する方法を学びます。このチュートリアルでは、Webコンテンツアクセシビリティガイドラインのアサーションを記述し、アクセシビリティルールに違反している要素を検出する方法について説明します。
Nightwatchの協力者であるDomenicoは、エンドツーエンドテスト(および他の形式のテスト)が彼にとって重要なトピックである理由を説明しています。テストピラミッドの概念の良い説明と、自動テストの良い入門書です。
Domenicoは、Browserstackクラウドテストプラットフォームを使用して、Nightwatchでエンドツーエンドテストを実行する方法を示しています。彼のYoutubeチャンネルで、Nightwatch関連の他のコーディング動画を見ることができます。
Nightwatchを使用してExpressアプリのセキュリティを向上させる方法に関する詳細なガイド。
Percy.ioのエンジニアであるDavid Jonesが、自動ビジュアルテストのためにPercyスナップショットをNightwatch.jsテストに追加する方法を紹介します。
人気の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を使用しています。
ワールドビューは、グローバルなフル解像度衛星画像を閲覧するためのインタラクティブなインターフェイスです。Reactで構築され、Nightwatch v0.9を使用しています。
WebRTCサンプルは、WebRTC APIのさまざまな部分を示す小さなサンプルのコレクションです。Nightwatch v1.1を使用します。
BrowserStack Automateインフラストラクチャに対してNightwatchテストを実行するための例。Nightwatch v1.0を使用します
このページに掲載すべき記事やオープンソースプロジェクトがあれば、ぜひお知らせください。