2017-02-21 17 views
0

私はBeanShellのポスト・プロセッサで、このコードを持っているがJmeter BeanShell - アクセス応答データ - Beanshellエラー?

String line; 
String[] words; 

line = SampleResult.getResponseMessage(); log.info(msg); 

words = line.split("*"); 

log.info("Here We are"); 

for (int i = 0; i < words.length; i++) { 
    log.info(words[i]); 
} 

これは私が

2017年2月21日午前14時23分三十一秒ERRORを得ているエラーです - jmeter.util.BeanShellInterpreter:エラー 呼び出しbshメソッド:evalソースファイル:インライン評価: String line; String[] words; line = SampleResult.getResponseMessage(); log.inf . . . '' : Attempt to resolve method: getResponseMessage() on undefined variable or class name: SampleResult 2017/02/21 14:23:31 WARN - jmeter.extractor.BeanShellPostProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of:文字列;文字列[] ワード; line = SampleResult.getResponseMessage(); log.inf。 。 。 「」:メソッドを解決するための 試み:getResponseMessage()未定義の変数 やクラス名に:SampleResult

+0

どこから 'SampleResult'を取得していますか?なぜなら、エラーを読んだら、「それは、何のSampleResultであるかわかりません」ということです。 – TehTris

答えて

1

は、厳密には、エラーを取り除くために、あなたはprevSampleResultを交換する必要があります。

前 - (SampleResult) - だから、例外を解決するために、以前のSampleResult

source

へのアクセスを提供します:

line = prev.getResponseMessage(); 
log.info(line); 

あなたはいつものリストを見ることができます変数オブジェクトはオブジェクト自体にあなたを与えます:

enter image description here

私が正しく理解している場合しかし、あなたがsamplerからデータなく応答メッセージを取得したいです。だから、だから、すべて一緒に代わりgetResponseMessage()

getResponseDataAsString()を使用することもできます。

line = prev.getResponseDataAsString(); 
log.info(line); 
0
  1. SampleResultは、あなたがこのよう
  2. ResponseMessageを使用することができるものです!=レスポンスボディ

だから、次のいずれかが

  • line = new String(data);
  • line = prev.getResponseDataAsString();
  • line = ctx.getPreviousResult().getResponseDataAsString());

アプローチを使用します。

はまたとして代わりBeanShellのでJSR223 PostProcessorGroovy languageを使用することを検討を表しますGroovyはJava互換性が高く、パフォーマンスが向上し、コードの見た目や作業性を向上させる優れた言語機能を備えています。詳細は、Groovy Is the New Blackの記事を参照してください。

関連する問題