1

仮想ユーザーのセッションに応答本文を保存できることがわかりました。

  val session: Session = Session("MySCN", "123")
  val scn = scenario("MySCN")
    .exec(http("my_request")
    .post(serverURL)
    .headers(headers)
    .body(InputStreamBody(Helper.getByteArrayInputStream))
    .check(status.is(200), bodyBytes.saveAs("responseBody")))

   //key not found...
   session("responseBody").as[ByteArray]

この(暗黙の?)セッションからそのresponseBodyを読み取るにはどうすればよいですか? 明示的なセッションも作成しました...

編集:

答えに基づいて、シナリオを明確にしました。答えでは、関数transformBytesがどのように機能するかわかりません。

4

2 に答える 2

0

関数を Gatling DSL メソッドに渡します。

.body(ByteArrayBody(session => session("responseBody").validate[Array[Byte]].map(transformBytes)))

またはこれを実行ブロックで実行し、変換結果を新しい属性に保存します

exec { session =>

  session("responseBody").validate[Array[Byte]]
    .map(transformBytes)
    .map(newBytes => session.set("newBytes", newBytes))
}

セッションから元のバイトを削除して、メモリ内に長く残り、古い世代になってしまうことがないように注意してください。

于 2014-11-19T13:31:04.783 に答える