簡體   English   中英

使用 JMeter 在 cookie 管理器中設置 JSession id

[英]Set JSession id in cookie manager with JMeter

簡短的介紹:

  1. 我想在我的請求中設置一個 cookie。

測試用例:

  1. 使用 JMeter 開始錄音。
  2. 打開瀏覽器並導航到登錄頁面(此時我已注銷,因此可以看到登錄頁面)。
  3. 記錄第一次請求(第一次打開頁面時)。

應該做什么:

  1. 我使用 JMeter 錄制了一個腳本。當我第一次打開登錄頁面時 - 似乎瀏覽器(我認為是瀏覽器)設置了某種 cookie (JSESSION_ID)。 在此處輸入圖像描述
  2. 當我嘗試自己執行請求時 - 沒有 cookie 數據(也沒有 JSESSION_ID)。 在此處輸入圖像描述
  3. 我需要實現此信息,因為我需要在另一個請求中重用它(我知道如何使用 Regular Expression Extractor)。

問題:

  1. 如何將此 cookie 數據放入請求中?
  2. 我可以使用任何隨機字符串(例如第一個屏幕截圖中的 cookie)作為 JSESSION_ID 值嗎?
  • 如果沒有,有沒有辦法使用 JMeter 生成正確的 JSESSION_ID?

您可以在線程組中添加一個HTTP Cookie Manager cookie 管理器stores and sends cookies just like a web browser

如果這不起作用,您可能必須使用后處理器提取 JSESSION_ID 並將變量 ${JSESSION_ID} 與標頭一起傳遞。

注意:確保刪除所有記錄的 JSESSION_ID 鍵/值或將 JSESSION_ID 值替換為 ${JSESSION_ID}

我找到了解決辦法。 是的,我已經在使用 HTTP Cookie 管理器了。 我需要的是將數據添加到請求中的“Cookie 數據”中。

解決方案:我找到的解決方案是在請求的標頭中聲明“Cookie”值。 在此處輸入圖像描述 結果 - 我將數據添加到“Cookie 數據”請求中。 在此處輸入圖像描述

HTTP Cookie 管理器應該自動處理來自服務器的 cookies,即從Set-Cookie header 中提取它們,並通過創建相關的Cookie header 將它們添加到下一個請求中,但是可能有一些限制阻止 JMeter 發送 87939160 等

  1. Cookie 格式錯誤
  2. Cookie 已過期
  3. 當前域與 cookie 的域不匹配
  4. ETC。

您可能希望將下一行添加到log4j2.xml文件(位於 JMeter 安裝的“bin”文件夾中)

<Logger name="org.apache.jmeter.protocol.http.control" level="debug" />

完成后,您將看到 cookies 到底發生了什么,如果它們在jmeter.log 文件中被存儲、拒絕、添加等

如果您不關心不正確的 cookies 並且不想為您的應用程序提出問題,您可以通過選擇像netscape這樣限制較少的策略來使 JMeter 在涉及“壞”cookies 時更加“放松”

在此處輸入圖像描述

並將CookieManager.check.cookies=false行添加到user.properties文件。

更多信息: HTTP Cookie 管理器高級用法 - 指南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM