4

この投稿のような問題が発生しています: JMeter; セッション cookieですが、別の角度からアプローチしました。

類似性は投稿の下部にあり、OP は次のように書いています。

どのように...最初の応答ヘッダーから値が抽出された各ユーザーに固有の Cookie を設定して送信できますか?

負荷テストに JMeter を使用しており、一度に複数のユーザーがメール クライアントにログインする必要があります。私たちのウェブサイト(およびテスト計画)の仕組みは次のとおりです。

  • ユーザー名/パスワードを入力し、[サインイン] をクリックします。
  • [電子メール] をクリックします。
  • Cookie で認証トークン (電子メール クライアントへのサインインを維持するために使用) を受け取ります。
  • 電子メール クライアントとのやり取り (フォルダーを開く、電子メールを既読にするなど) で、投稿本文で認証トークンを送信します。

問題は、POST リクエストで使用できるような方法で認証トークンが値として保存されていないことです (認証トークンは Cookie として送信されないため、単純に保存して送信することはできません)。 HTTP Cookie Manager を使用)。Cookie は、最初は次のように設定されています。

AUTH_TOKEN=(long string of letters, numbers, and underscores); Domain=.ourdomain.net; Path=/

Cookie から認証トークン値を抽出するために、次のことを試みました。

  • 正規表現エクストラクタを使用して、「メールをクリック」ステップの応答ヘッダーから値を抽出します。2 つの正規表現を試しました。どちらも、テストの実行時に JMeter がデフォルトの認証トークン値を使用するだけです。
    • AUTH_TOKEN\=(\w+)\;
    • AUTH_TOKEN=([^;]+);
  • user.properties でプロパティ「CookieManager.save.cookies=true」(ユーザー マニュアルで提案) および「CookieManager.check.cookies=false」(このスレッドで提案) を定義し、「${COOKIE_AUTH_TOKEN}」を使用する投稿本文に。
    • これらのいずれかまたは両方を配置すると、JMeter${COOKIE_AUTH_TOKEN}は投稿本文の認証トークン値として設定します。
    • ${COOKIE_cookieName} が正しい形式であることはわかっています。これは、JMeter が保存している他の Cookie と連携しているためです。

私は多くのスレッドを読みましたが、この特定の問題を扱ったスレッドはありません。数週間前に JMeter の使い方を学び始めたばかりなので、ここで何をすればよいかわかりません。助けていただければ幸いです。ありがとう!

4

1 に答える 1

6

この問題は、実際にはサーバーに誤った要求が送信され、サーバーが空白の応答を送信していたことが原因でした。テストプラン全体を破棄して書き直し(実際に使用していたのは別のテストプランの修正バージョンでした)、user.propertiesにCookieManager.save.cookies = trueを指定すると、${COOKIE_AUTH_TOKEN}を使用して取得できました。正しい値。

于 2013-01-03T23:51:49.147 に答える