2016-12-30 53 views
1

私には同様の問題があり、それによってブロックされます。ジェンキンスでJMeterテストを実行する必要があります。しかしJenkinsは実際に失敗したときにJMeterビルドが成功したものであることを検証します。アサーションが失敗したときにjmeterが失敗を返さないように、私が何をやっているのだろうか。 jMeterを呼び出すWindowsバッチスクリプトを実行します。Jenkinsは、JMeterビルドが実際に失敗したときに成功したことを検証します。

コマンドライン

cd C:\apache-jmeter-3.1\bin 
jmeter -n -c -t C:\Users\maria\Desktop\Automation\WIP\Test-page.jmx -l C:\Users\maria\Desktop\Automation\WIP\Test-page.xml 

とパフォーマンスのプラグイン(バージョン2.0)とジェンキンスVer.3.80に報告書を検証するために.xmlファイルに結果を保存します。ここでは、どのようにします。あなたが見ることができるよう2.32.1

CONSOLE

Created the tree successfully using C:\Users\maria\Desktop\Automation\WIP\Test-page.jmx 
Starting the test @ Fri Dec 30 11:05:58 GMT 2016 (1483095958952) 
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445 
summary =  1 in 00:00:00 = 3.1/s Avg: 206 Min: 206 Max: 206 Err:  1 (100.00%) 
Tidying up ... @ Fri Dec 30 11:05:59 GMT 2016 (1483095959326) 
... end of run 


Performance: Recording JMeter reports 'C:\Users\maria\Desktop\Automation\WIP\Test-page.xml' 
Performance: Parsing JMeter report file 'C:\Jenkins\jobs\Test demo\builds\3\performance-reports\JMeter\Test-page.xml'. 
Performance: Percentage of errors greater or equal than 0% sets the build as unstable 
Performance: Percentage of errors greater or equal than 0% sets the build as failure 


Finished: SUCCESS 

私は1つのエラーが発生しています。しかし、パフォーマンスプラグインはビルドを成功に導きます。

プラグインの設定を performance plugin settings

のJMeterプロパティ

jmeter.save.saveservice.assertion_results=all 
jmeter.save.saveservice.output_format=xml 
jmeter.save.saveservice.response_data=true 

TESTのCASE私が試したし、私のために動作しませんでした Test-page.jmx

試み:

  1. パフォーマンスプラグインのバージョン(1.11およびV.16 V)
  2. .jtl形式
  3. .xmlの最後には、コマンドラインに "エコー" を追加
  4. .CSV
  5. 古いです設定jmeter.save.saveservice.response_data=true

  • は、パフォーマンスのプラグインがエラーをカウントし、トンを上げるようにする方法のアイデアを使い果たしました彼は "失敗"フラグ:(

    助けてください。

  • +0

    おそらく、あなたはバグに直面しています。この場合、https://issues.jenkins-ci.org/browse/JENKINS-37988 –

    +0

    のリンクを使用して回避策を提案できますか? – MKamenova

    +0

    この問題の回避策はありません。 –

    答えて

    1

    0から1までの「単一ビルドでエラーしきい値を使用する」を設定します。

    これは、少なくとも1つのエラーがJMeterのテストケースに含まれていれば、ジェンキンのビルドに失敗することを意味します。ここで0はエラーカウントを無視します。

    +0

    私はJenkinsとJmeterに全く新しいですが、私が見てきたすべてのチュートリアルでは、ビルドが0に設定されていても1つのエラーで失敗することがあります。私は1のような値で試しました。 42; 100の違いはありません。私はそれが本当にバグだと思う。 – MKamenova

    +0

    これは私のために働く – Weiming

    1

    はJMeterのビルドステップ、最も速く、最も容易なため、ゼロ以外の終了コードを返すことをお勧め私はあなたが私の周りにこれを動作させる一方でJenkins Bug Tracker

    を経由して、それを報告しなければならないと信じて、パフォーマンスのプラグインの問題のように聞こえます方法はTaurusツールをラッパーとして使用してJMeterテストを実行しています。トーラスには強力なPass/Fail Criteria subsystemがあり、ビルドの失敗の条件を定義することができます。条件が満たされると、トーラスの実行ステップはコード3で終了します。Jenkinsは、ゼロ以外の終了コードでコマンドラインタスクを自動的に失敗させるほどスマートです。

    最小限の作業牡牛座の設定ファイル:

    --- 
    execution: 
        scenario: my-test 
    
    scenarios: 
        my-test: 
        script: C:\Users\maria\Desktop\Automation\WIP\Test-page.jmx 
    
    services: 
    - module: passfail 
        criteria: 
        - succ<100%, stop as failed 
    

    詳細について、必要に応じて:Meetup Recap on Using Taurus to Automate JMeter and Jenkins Tests

    あなたはまた、直接のようにすなわちJSR223 Scripting Elementsを経由してJMeterのテストを形成するJMeterの終了コードを変更することができます。

    if (some condition) { 
        System.exit(1); 
    } 
    

    このケースでは、障害基準の設定の柔軟性はあまりありません

    関連する問題