2

jmeter ツールを使用して、N ユーザーのストレス テストを行っています。

ant と jenkins を使用してテストを自動化しました。ビルド ファイルは、ターゲット、つまり jmeter スクリプトを実行するように構成されています。

それは正常に動作します。

今、ジェンキンをパラメータ化しようとしています。つまり、実行時にユーザー数「N」を渡そうとしていますが、それを行う方法はありますか? ご意見をお聞かせください。

Ant スクリプト:

<project basedir=".">
  <property environment="env"/>
  <property name="jmeter-home" location="D:/apache-jmeter-2.7"/>
  <path id="ant.jmeter.classpath">
    <pathelement location="${jmeter-home}/extras/ant-jmeter-1.0.9.jar" />
  </path>
  <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" classpathref="ant.jmeter.classpath" />
  <target name="clean">
    <delete dir="results"/>
    <delete file="jmeter.log"/>
    <mkdir dir="results/jtl"/>
    <mkdir dir="results/html"/>
  </target>
4

2 に答える 2

1

https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Buildを参照してください。ジョブのパラメーターを定義できます。次に、-Denv_entry=value (通常の JVM Sswitch、Jenkins の Ant ステップの詳細設定にあります) を使用してそれを渡すだけで、jmeter に渡すことができます (この記事を参照してください: http://jmeter. apache.org/usermanual/get-started.html#override )

編集: Ant スクリプトで JMeter をまったく実行しません。ステップバイステップ:

  1. Ant スクリプトを次のように呼び出します。-DTHREADS=value
  2. Ant スクリプトに<property environment="env"/>正しく含まれている
  3. 次のように JVM 引数を指定して、タスクで JMeter を呼び出します。
<jmeter
    jmeterhome="c:\jakarta-jmeter-1.8.1"
    testplan="${basedir}/loadtests/JMeterLoadTest.jmx"
    resultlog="${basedir}/loadtests/JMeterResults.jtl">
  <jvmarg value="-Xincgc"/>
  <jvmarg value="-Xmx128m"/>
  <jvmarg value="-DTHREADS=${env.THREADS}"/>
</jmeter>

次に、JMeter にシステム プロパティがあります。JMeter プロパティが必要な場合は、代わりに -JTHREADS=${env.THREADS} を使用してください。

EDIT2:これを追加:

<taskdef name="jvmarg" classname="org.programmerplanet.ant.taskdefs.jmeter.Arg" classpathref="ant.jmeter.classpath"/>

その後、動作するはずです。

于 2012-11-19T09:50:57.677 に答える
0

Jenkins ジョブを N 回実行しようとせずに、この N パラメータを ant スクリプトに渡し (パラメータを jenkins から ant に渡す方法については他の回答を参照してください)、開始に対処する方が良い方法だと思います。テストを N 回並行して実行します。

于 2012-11-20T10:35:58.867 に答える