【UI自動テスト】Jenkinsの設定

少し前に、私はチームの UI 自動化環境の構築を手伝いましたが、ここでは Jenkins 環境の構成をいくつか共有します。

バックグラウンド:

今年下半期のチームの目標の一つは、テストの自動化を実現することですが、ここで苦言を呈したいのですが、以前に開発したテストプラットフォームは、当初はインターフェイスの自動化テストとパフォーマンステストを目的としていたのですが、諸事情により、インターフェース自動化テストの機能 使いやすさに大きく関係しており、当社のインターフェース事業にも関係するものはすべて破棄されました。しかし、パフォーマンス テスト機能を開発する学生は非常に喜んで使用しており、現在、インターフェイスの管理はフロントエンドとバックエンドを繋ぐ重要な橋渡しとなっています。現在は環境管理が追加され(私の会社では主にDockerを使って開発・テスト環境を構築しています)、最近ではデマンド管理やバグ管理も追加され、「テストプラットフォーム」から「開発連携プラットフォーム」へと変化してきました。 」。市場で主流の欠陥管理システムを使用してみてはいかがでしょうか? たとえば、ゼンタオ、JIRA。なぜなら、当社には独自の開発プロセスがあるからです。環境(docker)の管理は、市販のプラットフォームだけでは満足できません。

自動テストの話に戻りますが、もちろんインターフェイスの自動化が最優先です。私は以前に主流のインターフェイス ツール/フレームワークの比較についても共有しましたが、実際にビジネス ラインのテスト生とコミュニケーションを取った後、支払いインターフェイスが非同期であることがわかりました。行き先のゲートウェイも非同期です。追加とテストの作業は連動しており、アクティビティの選択、ショッピング カートの追加、支払いに至るまで、ユーザーは十数のインターフェイスに関与しますが、そのすべてが前のインターフェイスの戻り値に大きく依存しています。(mockServer を使用して) 依存関係を削除した場合、単一のインターフェイスをテストすることはあまり意味がなく、既存のビジネス シナリオをカバーできません。

そこで、インターフェースの自動化テストを諦め、ユーザーの操作プロセスをシミュレートするだけの簡単なUIからテストを開始しました。したがって、インターフェイスの自動化が UI の自動化より必ずしも優れているというわけではなく、プロジェクトによって異なります。

UI オートメーションで使用されるテクノロジー:

  • セレン: 説明はありません。

  • pytest: 単体テスト フレームワーク。ブラウザ ドライバーの開閉をグローバルに構成でき、UI 自動化に適した便利な拡張機能が多数あります。

  • pytest-html: HTML テスト レポートを生成します。ユースケースの失敗の自動スクリーンショットを構成できます。これは UI 自動化にとって非常に重要です。

  • pytest-rerunfailures: ユースケースの失敗した再実行を実現できます。これは UI 自動化にとっても非常に重要です。Selenium-page-objects: 私がカプセル化したページ オブジェクト ライブラリは以前に紹介したもので、ページ レイヤーの記述が容易になります。

  • Git/Bitbucket: テスト コードは管理のために Bitbucket に送信されます。

ジェンキンスは何をしますか?

次に重要なのですが、Jenkins は主に UI 自動化テストを実行するために使用されます。次に、私の構成を紹介します。

Git を構成し、Bitbucket に接続し、プロジェクト コードの更新を確認します。

毎晩 22:00 に実行されるように設定された時間指定タスク。

コマンドをビルドし、コードをプルし、すべてのユースケースを実行します。

HTMLテストレポートのパスを設定します。

XML テスト レポートのパスを設定します。

メール機能の設定を行います。

一般的な効果は次のとおりです。

「HTML レポート」をクリックすると、HTML レポートが表示されます。最新の結果については、プロジェクトの XML 形式のレポートを参照できます。XML レポート プラグインに基づいて生成されるテスト トレンド グラフ。

Jenkins でテスト HTML テスト レポートを表示します。

もちろん、ビルドが完了したときに受信するメールもあります。

上記の紹介が何かのヒントになれば幸いです。

テストに向けて勉強している友達は、下の小さなカードをクリックしてください

おすすめ

転載: blog.csdn.net/m0_68405758/article/details/132044775