
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が業界で合意されたプラクティスに従い、他の既存のツールとの互換性を維持するために最善を尽くしています。
バックエンドAPIをテストするために、Node.jsユニットテストをNightwatchで記述することもできます。これらのテストでは、同じアサーションライブラリ、構文、ランナーを使用しています。エンドツーエンドテストとユニット/統合テストを同じテスト実行で組み合わせることもできます。
このバージョンでは、最新のMicrosoft Edgeブラウザの統合サポート、並列処理サポートの改善、その他のいくつかの機能と改善(APIをチェーンとPromiseの両方で機能させるなど)が追加されています。
Selenium Webdriverを基盤とした次のメジャーバージョンのリリースに向けて取り組んでおり、これによりテストの実行が大幅に安定し、信頼性が向上します。
Chrome Dev Tools Protocolのサポート、ファイルアップロード、新しいAPIなど、いくつかの新しい機能も追加します。
GitHubでバグや機能リクエストを報告してください。新しいIssueを送信する前に、コントリビューションガイドラインを確認してください。
矛盾、タイプミス、間違いなど、ドキュメントに関する問題は、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**を使用しています。
このページにリストする必要がある記事やオープンソースプロジェクトについて、お知らせください。