1

この応答から security_token を抽出しようとしています:

{}&&{"containers":{"userID":"p8admin","connected":true,"desktop":"icm"},
     "userid":"p8admin",
     "user_displayname": "p8admin",
     "security_token":"-1829880900612241155",
     "messages":[{"adminResponse":null,
                  "moreInformation":null,
                  "explanation":null,
                  "number":"0",
                  "userResponse":null,
                  "text":"p8admin connect\u00e9."
                 }]
     }

transform と jsonPath を組み合わせてみました:

.check(bodyString.transform(_.split("&&")(1)).jsonPath("&.security_token").saveAs("security_token"))

しかし、私はこのエラーが発生します:

value jsonPath is not a member of com.excilys.ebi.gatling.core.check.MatcherCheckBuilder

これを達成する簡単な方法があれば教えてください。

ありがとう

4

2 に答える 2

0

小切手のドキュメントから:

この API は、次の手順を連鎖するための専用の DSL を提供します。

  1. チェックの定義
  2. 抽出中
  3. 変形中
  4. 検証中
  5. 保存

bodyString応答は有効な JSON ではないため、型として使用する必要があります。その後、変換して保存できますが、ステップ 1 に戻ることはできませんtransform。ステップ中に JSON から必要な値を解析できます。

Stéphane が指摘したように、値を取得する最も簡単な方法は、regexチェックを使用して security_token 値を直接抽出することです。ただし、ロジックに JSON オブジェクトの残りの部分が必要ない場合に限ります。

于 2014-07-23T13:53:04.277 に答える