Cypress は、Web アプリケーションのテストを簡素化するために設計された、人気のある JavaScript ベースのエンドツーエンド テスト フレームワークです。さまざまな機能の中でも、cypress run コマンドは、継続的インテグレーションおよび展開パイプラインでのテストを自動化するための重要なツールとして際立っています。これにより、ヘッドレス環境または指定されたブラウザーでテストを実行できるようになり、柔軟性、速度、自動化機能が提供されます。
この記事では、cypress run の使用方法、そのオプション、実際の例、テスト ワークフローに統合するためのベスト プラクティスについて詳しく説明します。
サイプレスランとは何ですか?
cypress run コマンドは、デフォルトの Electron ブラウザまたは Chrome や Firefox などのその他のサポートされているブラウザを使用して、ヘッドレス モードで Cypress テストを実行します。このコマンドは、CI/CD パイプライン、夜間ビルド、GUI が不要な環境でのテスト スイートの実行など、自動テスト シナリオ向けに調整されています。
インタラクティブなテスト ランナーを開く cypress open コマンドとは異なり、cypress run は自動テスト実行用に特別に設計されており、最新の開発ワークフローの重要なツールとなっています。
サイプレス ランを使用する理由
- 自動テスト: CI/CD パイプラインに手動介入を行わずにテストを実行するのに最適です。
- 高速実行: ヘッドレス モードはオーバーヘッドを削減し、テストをより速く完了できます。
- クロスブラウザーのサポート: 互換性チェックのためにさまざまなブラウザーでテストを実行します。
- デバッグ ツール: デバッグ用にスクリーンショットとビデオを自動的にキャプチャします。
- 並列テスト: 複数のマシンに分散してテストの実行を高速化します。
______________________________________________________
cypress run の基本構文
cypress run コマンドの最も単純な形式は次のとおりです。
バッシュ
コードをコピーする
npx サイプレスの実行
このコマンド:
• cypress/integration フォルダーにあるすべてのテスト ファイルを実行します。
• デフォルトの Electron ブラウザでテストを実行します。
• ヘッドレス モードで動作します。
______________________________________________________
一般的に使用される cypress run オプション
サイプレスは、cypress run コマンドをカスタマイズするためのさまざまなオプションを提供しています。最も便利なものは次のとおりです:
- ブラウザを指定してください
Chrome や Firefox などの特定のブラウザでテストを実行します。
バッシュ
コードをコピーする
npx cypress run --browser chrome
- 特定のテスト ファイルを実行する
特定のテスト ファイルまたはフォルダーに焦点を当てます。
バッシュ
コードをコピーする
npx cypress run --spec "cypress/integration/login.spec.js"
- グループテスト
テスト実行を分類してラベルを付けると、特にダッシュボードで役立ちます。
バッシュ
コードをコピーする
npx cypress run --group "回帰テスト"
- 結果を記録する
Cypress ダッシュボードと統合して、テスト結果を記録および分析します。
バッシュ
コードをコピーする
npx cypress run --record --key YOUR_PROJECT_KEY
- 環境変数を渡す
テスト実行中に環境変数を挿入します。
バッシュ
コードをコピーする
npx cypress run --env ENV=staging,API_URL=https://staging.api.example.com
- 並列テスト
複数のマシンでテストを実行して、全体の実行時間を短縮します。
バッシュ
コードをコピーする
npx cypress run --Parallel --record --key YOUR_PROJECT_KEY
- ビデオを無効にする
Cypress がビデオを録画できないようにします。
バッシュ
コードをコピーする
npx cypress run --video false
______________________________________________________
高度な使用シナリオ
CI/CD パイプラインでのテストの実行
Cypress は、回帰テストやスモーク テストのために CI/CD パイプラインで広く使用されています。一般的なセットアップは次のようになります。
バッシュ
コードをコピーする
npx cypress run --record --key YOUR_PROJECT_KEY --spec "cypress/integration/*/.spec.js"
カスタム環境でのテストの実行
開発環境、ステージング環境、実稼働環境に異なる構成がある場合は、環境固有の変数を渡すことができます。
バッシュ
コードをコピーする
npx cypress run --env ENV=production
以下を使用して、テスト スクリプト内のこれらの変数にアクセスします。
JavaScript
コードをコピーする
const apiUrl = Cypress.env('API_URL');
テスト失敗のデバッグ
--headed フラグを追加すると、表示可能なブラウザーで実行されるテストが表示されます。
バッシュ
コードをコピーする
npx cypress run --headed
詳細なデバッグ ログを有効にするには:
バッシュ
コードをコピーする
DEBUG=cypress:* npx cypress 実行
______________________________________________________
実際のコマンド例
- Chrome ですべてのテストを実行する
バッシュ
コードをコピーする
npx cypress run --browser chrome
- テストを並行して実行する
バッシュ
コードをコピーする
npx cypress run --Parallel --record --key YOUR_PROJECT_KEY
- 単一の仕様ファイルをテストする
バッシュ
コードをコピーする
npx cypress run --spec "cypress/integration/cart.spec.js"
- 環境変数を使用してテストを実行する
バッシュ
コードをコピーする
npx cypress run --env ユーザー名 = 管理者、パスワード = 秘密
______________________________________________________
cypress 実行のデバッグのヒント
テストが失敗したり予期せぬ動作をした場合は、次のトラブルシューティング手法を検討してください。
- テスト ログを確認する: 詳細なログを使用してエラーを特定します。
- スクリーンショットとビデオを確認する: サイプレスは、失敗したテスト用にこれらを自動的に保存します。
- テスト タイムアウトを増やす: タイムアウトが原因でテストが失敗した場合は、cypress.json ファイル内の値を増やします。
json
コードをコピーする
{
「デフォルトコマンドタイムアウト」: 10000
}
- Flaky テストの再試行: cypress.json で再試行を有効にします。
json
コードをコピーする
{
「再試行」: 2
}
______________________________________________________
cypress run を使用するためのベスト プラクティス
- CI/CD パイプラインとの統合: すべてのコードのプッシュまたはデプロイメントのテストを自動化します。
- 並列実行を使用する: テストを複数のマシンに分散して実行時間を短縮します。
- フィクスチャの活用: モック データを使用して、外部 API への依存を回避します。
- テストの最適化: 不必要な待機を排除し、テストが分離され信頼性が高いことを確認します。
- 結果の監視: 詳細な洞察と傾向分析のためにサイプレス ダッシュボードを利用します。
______________________________________________________
結論
cypress run コマンドは、テスト プロセスを自動化および合理化するための強力なツールです。 CI/CD パイプラインに統合する場合でも、複数の環境でテストを実行する場合でも、複雑なシナリオをデバッグする場合でも、cypress run は堅牢で効率的なテストを保証するために必要な柔軟性と機能を提供します。
その使用法とベスト プラクティスをマスターすることで、テスト戦略を大幅に強化し、自信を持って高品質のソフトウェアを提供できます。今すぐ cypress run を活用して、開発ワークフローで Cypress の可能性を最大限に引き出してください。
以上がcypress run の包括的なガイド: テスト ワークフローを自動化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。