2016-08-09 23 views
0

リクエストIDを含むリクエストから応答が得られ、何か問題が生じた場合はエラーコードがあります。Jmeter Beanshellポストプロセッサーのelse文

まず、エラーコードがあるかどうかを調べるbeanshellスクリプトを作成したい場合は、csvファイルにリクエストIDを入力します。私はbeanshellのelse文について何かを見つけることができません

if (there is an err code){ 
write it to the csv file} 
else {write request id to csv} 

アサーションを使用することは可能ですか?私はこれが仕事をすると思うのjava

2016/08/09 13:38:38 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.threads.JMeterContextService; import java.io.PrintWrite . . . '' : Command not found: regexMethod(java.lang.String, java.lang.String) 
2016/08/09 13:38:38 WARN - jmeter.extractor.BeanShellPostProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.threads.JMeterContextService; import java.io.PrintWrite . . . '' : Command not found: regexMethod(java.lang.String, java.lang.String) 

答えて

1

問題は...あなたは自分のデータのための正規表現式を取得する必要があります。

import org.apache.jmeter.threads.JMeterContextService; 
import java.io.PrintWriter; 
import java.io.File; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

String prevResponse = JMeterContextService.getContext().getPreviousResult(). 
          getResponseDataAsString(); 

public void writeToFile(String toWrite) { 
    String path = "/home/username/Desktop/TSO_test_failure.csv"; 
    File file = new File(path); 
    try { 
      PrintWriter writer = new PrintWriter(file, "UTF-8"); 
     writer.print(toWrite); 
     writer.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

public String regexMethod (String regex, String text) { 
    String regResult; 
    try { 
     Pattern pat = Pattern.compile(regex); 
     Matcher mac = pat.matcher(text); 
     mac.find(); 
     regResult = mac.group(1); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return regResult; 
} 

String result = null; 
if (prevResponse.contains("errorCode")) { 
    String errRegex = "findErrorID"; // change this to meet your needs! 
    result = regexMethod(errRegex, prevResponse); 
} else { 
    String reqRegex = "findRequestID"; // change this to meet your needs! 
    result = regexMethod(reqRegex, prevResponse); 
} 
writeToFile(result); 
+0

偉大な男!もう1つの質問。どのような価値があるべきか(errorCode)。以前の手順で設定する必要がありますか? – bzdurox

+0

基本的に、レスポンスにエラーのあるテキストが含まれているかどうかをチェックし、そこから結果に応じて必要なものを実行します。 –

+0

[OK]を、ポイントを取得します。私はすべてを設定し、今は動作するはずですが、まだエラーが出ます。私の最初の投稿を見てください。 – bzdurox

関連する問題