2017-12-18 24 views
0

私はJmeterログの問題に直面しています。私は10回のテストを一緒に実行しますが、それらはすべて同じステップを持っていますが、パラメータは異なります。 Jmeterログをチェックすると、手順に関する例外が表示されますが、どのテストでは言及されていません。どのシナリオで問題が起こっているのか、どうすればわかりますか?Jmeterログに十分な情報がありません

2017-12-18 14:56:10,223 ERROR o.a.j.e.JSR223PostProcessor: Problem in JSR223 script, Short_tt_cid 
javax.script.ScriptException: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method substring() on null object 
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:158) ~[groovy-all-2.4.12.jar:2.4.12] 
    at javax.script.AbstractScriptEngine.eval(Unknown Source) ~[?:1.8.0_141] 

ステップshort_tt_cidは、すべてのテストであり、そして私はIDを印刷するのに使用する場合にはログに表示されていない、 また、私は一緒にテストのカップルを実行すると問題がちょうどなので、どのように私が何であるかを知ることができます問題? Jmeterにログの情報(テスト名など)を教えてもらうにはどうすればいいですか? {test_name}のステップを呼び出してログに表示されません すべてのテストで1つのテストを実行すると問題が発生します

+0

テスト名を必要とする時はいつでもあなたはミーンズテスト変数を使用します計画の名前? – user7294900

答えて

1

あなたも、テスト計画ファイルが保存されますテスト計画レベルでは、変数を追加することができます必要なときに機能TestPlanName機能使用して、それを使用します。

${__TestPlanName} 

TestPlanName機能を(呼び出し元のテスト計画の名前を知っているなど、計画に使用することができます)現在のテスト計画の名前を返します。例えば、グループ名を使用ctx.getThreadGroup().getName()ため

${__BeanShell(ctx.getThreadGroup().getName())} 

各スレッドグループのための1 User Parametersでそれを変数に追加して、あなたが

+0

テストグループは、スレッドグループ) – Bastian

+0

はグループ名用です。$ {__ BeanShell(ctx.getThreadGroup()。getName())} ' – user7294900

+0

どこで使うべきですか?それの使い方?あなたは段階的な解決策を提供していただけますか? 、シェル私はすべてのテストと10K回を意味するすべてのステップでそれを置く?それを行う方法の例がありますか? – Bastian

1

これはJMeterについてではなく、Groovyコードに関するものです。原因は、定義されていない(またはヌル)変数に対してsubstring()関数を呼び出そうとしているためです。

try { 
    def myObj = null 
    myObj.substring() 
} 
catch (Exception ex) { 
    log.info('Problem in ' + ctx.getCurrentSampler().getName() + ' in ' + ctx.getThreadGroup().getName() + ' Thread Group') 
    throw ex 
} 

Groovy exception handling

あなたが持つことになります。この方法: - あなたは、これはより有益にする必要がある場合

実装は完全にあなた次第です、可能なオプションの一つは次のようにtry blockでコードを入れていますjmeter.logファイルの少なくとも該当するThread GroupSamplerの名前。上記の例では、ctxJMeterContextクラスインスタンスの略で、JMeterの

でのGroovyスクリプトの詳細については、利用可能なすべてのメソッドとフィールドと Apache Groovy - Why and How You Should Use ItのJavadocをチェックアウト
+0

Dimitri問題は、30個のテストがあり、それらのすべてがステップ「マイサンプラー」を使用して、どのサンプルが失敗したかを知る方法です。あなたの写真によると、1つのスレッドグループがあります。スレッドグループが30個ある場合、どのスレッドグループのどのステップで失敗したかをどのように知っていますか? – Bastian

+0

TNX Dmitriそれを解決しました – Bastian

関連する問題