私は、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
をチェックしていますか?
Regexポストプロセッサに「デフォルト値」が設定されていますか?そうでない場合は、追加します。そうすれば、Regexポストプロセッサが本当にあなたの正規表現を見つけられない(そしてデフォルト値を使用する)のか、まったく実行していないのかを特定することができます(したがって '$ {access_token} 'は未解決です)。regexが見つからない場合、regex extractorに何らかの間違いがある必要があります:Apply ToとField To Checkフィールドをチェックし、それらが正しいことを確認してください。 –
デフォルト値が返されない場合、ポストプロセッサがまったく実行されていないことを意味します。それからあなたは、他のポストプロセッサーを持っているかどうかを確認する必要があります。 –
@Kiril S.応答に感謝します。デフォルト値を与えているとき、ヘッダーマネージャーはデフォルト値をとり、 2番目のHTTPサンプラーのリクエストヘッダー –