2017-10-17 24 views
0

私は解決できないJmeterに遭遇しました。 リクエストを送信して応答を取得するテストを作成します。 応答はURLエンコードです。 まず、レスポンスを変数に入れて、それをデコードする必要があります。 1.正規表現を作成し、応答を変数名 "full_response"に入れます。結果として期待どおりに保存されます。 2.私はグルーヴィーサンプラーステップを作成し、 "full_response"を渡して印刷し、OKになったことを知りたいだけです。 これは3文字だけのすべての応答を出力しません。 (私は応答がURL ENCODEだと思う)。 この変数をgroovyスクリプトに渡す方法をアドバイスできますか?それを印刷するよりも? 目的は、結果をデコードしてその上にアサーションを置くことです! Groovyサンプラーの "reponse_before_decode"変数に結果を格納し、それをデコードする方法は?デバッグサンプラの I groovyサンプラで作成したresponse_before_decode変数を参照してください 応答に特殊文字が含まれているためですか?私は全体としてそれを渡すことはできません>? (正規表現であり、完全な応答変数に応答を参照) に関して変数フル・レスポンスに移動できません - Groovy Jmeter

def reponse_before_decode = args[0] as String; 
def reponse_before_decode_2 = args[0]; 

System.out.println ("re" + '$full_response'); 
System.out.println ("full" + reponse_before_decode_2); 
System.out.println ("full" + reponse_before_decode); 

enter image description here

enter image description here

enter image description here

enter image description here

+0

あなたの正規表現はオフで、 'full_response =(。*)'のようなものを試してみてください。 – user7294900

答えて

1
  1. 決してreferenc

    :それはGStringTemplates
  2. と競合する可能性がありますよう${full_response}のようなGroovyスクリプト内の電子のJMeterの変数や関数は、あなたのようなJSR223サンプラーから、以前のサンプラーの結果にアクセスすることができますが、正規表現の抽出中間ステップを必要としない代わりにvars.get('full_response')を使用します

    def reponse_before_decode = ctx.getPreviousResult().getResponseDataAsString() 
    
    どこctxJMeterContextクラスのインスタンス

  3. の略で、最終的にはJMeterはあなたがx-www-form-urlencoded文字列をデコードするために使用することができます__urlDecode() functionが付属しています。 JMeter関数の概念を理解するには、Apache JMeter Functions - An Introductionを参照してください。
関連する問題