2017-10-11 6 views
0

私は、JMeterにログイン要求を送信するHTTPリクエストサンプラーを持っています。JMeterのリクエストヘッダーと共に参照値が送信されない

このHTTP要求の応答からaccess_tokenを取得する必要があります。これは、2番目のHTTP要求サンプラーの要求ヘッダーとともに送信する必要があります。

{ "ステータス":真、 "access_tokenは": "91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.Arvdm_M68-BoDFRURArvdmwYgWV9Nr2sHYDwivTM"}

ログイン要求の応答データは、このようなものです正規表現エクストラクター

Reference Name: access_token 
Regular expression: access_token":"(.*?)" 
Template $1$ 
MatchNo:1 
私は正規表現のテストが、私はこのような結果を得ています 結果の表示TREE->を使用してこの正規表現をチェックしていた場合10

マッチ回数:1

マッチ[1] [0] = access_tokenは ":" 91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.Arvdm_M68-BoDFRURArvdmwYgWV9Nr2sHYDwivTM」

一致[1] [1] = 91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.Arvdm_M68-BoDF RURArvdmwYgWV9Nr2sHYDwivTM

私はMatch [1] [1]を取得する必要があります。すなわち、ちょうどaccess_token値。私HTTPヘッダーマネージャーに第二HTTPリクエストサンプラー式の値を参照し

Name: Authorization 
Value : Bearer ${access_token} 

を今私はJMeterのテストを実行し、ビューを観察していたときに結果ツリー、2番目のリクエストの応答が

グローバル認証が

を失敗したとリクエストヘッダ:

接続:キープアライブ

問題は次の行にある:私はaccess_token値を取得する必要があります( 91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.Arvdm_M68-BoDFRURArvdmwYgWV9Nr2sHYDwivTM)の代わりに${access_token}

認証:ベアラ$ {access_tokenは}

のContent-Type:アプリケーション/ JSON

のContent-Length:21

ホスト:localhostの

のUser-Agent:Apacheの-HttpClientを/ 4.5 .3(Java/1.8.0_111)

参照トークンを与える代わりに、HTTPヘッダーマネージャーでトークンをハードコードしている場合、応答i成功した。

注:私はすでにどのように私はこの問題を解決することができます[How to get Response Data and parse it to HTTP Header Manager in JMeter

をチェックしていますか?

+0

Regexポストプロセッサに「デフォルト値」が設定されていますか?そうでない場合は、追加します。そうすれば、Regexポストプロセッサが本当にあなたの正規表現を見つけられない(そしてデフォルト値を使用する)のか、まったく実行していないのかを特定することができます(したがって '$ {access_token} 'は未解決です)。regexが見つからない場合、regex extractorに何らかの間違いがある必要があります:Apply ToとField To Checkフィールドをチェックし、それらが正しいことを確認してください。 –

+0

デフォルト値が返されない場合、ポストプロセッサがまったく実行されていないことを意味します。それからあなたは、他のポストプロセッサーを持っているかどうかを確認する必要があります。 –

+0

@Kiril S.応答に感謝します。デフォルト値を与えているとき、ヘッダーマネージャーはデフォルト値をとり、 2番目のHTTPサンプラーのリクエストヘッダー –

答えて

0

ほとんどの場合、余分なスペースや改行などによって正規表現エクストラクターが失敗する可能性があります。

Apache JMeter 3.0以来、応答タイプJson Path languageを使用してJSONのデータを取得するように設計されたJSON Extractorがあることに注意してください。

JMeter JSON Path Extractor

の詳細についてはAPI Testing With JMeter and the JSON Extractorの記事を参照してください:関連JSON Extractorの構成はと同じくらい簡単になります。

これ以外にも、テスト計画の残りの要素の設定は正常です。

+0

: - ありがとう、私の問題を解決したjson抽出プログラムを追加する:) –

関連する問題