1

Spring で記述された、独自の Web サービスをテストするための HTTP 呼び出しを行う JMeter スクリプトがいくつかあります。すべてのビルドで JMeter スクリプトを自動的に実行し、ビルドが適切かどうかをテストしたいと考えています。だから、で提案されているように: - http://ribblescode.wordpress.com/2012/04/16/how-to-run-jmeter-tests-with-maven/Spring Web サービス プロジェクトの Maven .pom ファイルをセットアップして、Jmeter プラグインを定義しました。また、JMeter スクリプトを src/test/JMeter に追加しました。現在、Eclipse を IDE として使用しており、プロジェクトを Eclipse 内から Tomcat で既に実行している場合 (Run As -> Run on Server)、このセットアップで私のプロジェクトで Run As -> Maven Install を実行すると、JMeter が実行されます。スクリプトと意図したとおりに動作します。ただし、Web サービスがまだ Tomcat で実行されていない場合、JMeter が HTTP 呼び出しを正常に行うことができないため、Maven ビルドは失敗します。さて、私の問題は、このセットアップが、JMeter スクリプトが、その時点で Run As-> Maven Install をクリックしたときに生成された新しいビルドではなく、既に実行されている古いビルドを実際に呼び出していることを意味することです。

では、このシナリオを考えると、コードを変更してから Maven を使用して新しいビルドを実行するときに、最初にそれをデプロイしてから、この新しいビルドで JMeter スクリプトを実行するにはどうすればよいでしょうか?

4

1 に答える 1

1

Maven は、Eclipse で実行されている Tomcat をテストするためのものではありません。Jmeter は統合テスト ツールであるため、適切な maven ライフサイクル フェーズで適切なプラグインをインストールするだけで済みます。必要なアクション:

統合前テスト段階の手順

  1. Tomcat をダウンロードして解凍する
  2. パッケージ化された Web アプリをデプロイする
  3. トムキャットを起動

統合テスト段階のステップ

  1. Jmeter をダウンロードして解凍します (たとえば、maven-dependency-plugin を使用)
  2. jmeter テストを実行する

統合後テスト段階

  1. トムキャットを止める

必要なのはそれだけです。使用するツールの 1 つはCargo Maven Pluginで、デプロイ、開始、停止に役立ちます。

例はここにあります http://www.alexecollins.com/content/jmeter-integration-test-template-pom/

興味がある場合は、JMeter テストのカバレッジ情報を収集することもできます: http://docs.codehaus.org/display/SONAR/Code+Coverage+by+Integration+Tests+for+Java+Project

于 2013-09-24T19:25:56.260 に答える