2010-06-15 56 views
8

我正在使用JMeter來壓力測試API。我有Basic Authentication設置 - 似乎工作很好。如何通過JMeter傳遞隨機用戶/密碼(用於基本身份驗證)?

現在,我試圖隨機化憑證 JMeter通過電線。所以,我知道我有兩種方法可以做到這一點。

  1. 添加自定義HTTP Header(通過HTTP Header Manager Element),然後值設置爲隨機字段(即東西我已經從一個CSV文件中讀取)
  2. 使用HTTP Authorization Manager Element並傳入用戶名和密碼那裏。

現在,如果我嘗試和使用方法(1)中,我需要創建下面的頭/數據: -

Authorization: Basic <some Base64 encoded string in the format username:password> 

eg. 
Authorization: Basic OnVzZXIxOnBhc3Mx 

KEWL。簡單。但標頭值是沒有得到跨網傳送:(我可以添加其他任何頭類型,它的跨線傳遞..

嗯.. OK,然後..讓我們嘗試的方法(2)。

現在,工程..但我只能在用戶名密碼&硬編碼我不能看我怎麼能在一個用戶名(即${usernmae})或密碼(即${password})通過。 ...如果硬編碼,則服務器正確回覆正確的頁面/數據。

所以..有人可以幫忙嗎?

回答

10

我會建議您嘗試以下操作:

  1. 創建一個HTTP授權管理器元素
  2. 設置的用戶名和密碼是變量,$ {用戶名} $ {密碼}
  3. 創建一個CSV (不要使用標題行)
  4. 創建一個CSV數據集配置元素,變量名稱設置爲「用戶名,密碼」(不包括引號和逗號後沒有空格)
  5. 每個線程/循環都會從CSV文件中讀取不同的值。

或者,如果您希望該值對於登錄是真正隨機的,則可以使用一些函數來生成隨機數或在執行時發送。

+0

另請注意,對於基本身份驗證。你不應該把任何東西放在HTTP認證的域列中。經理元素。否則,你會得到它在授權標頭的Base64編碼值內。 – Svilen 2016-06-13 10:22:39

+0

並確保HTTP請求中的協議[http]字段爲空 – 2017-08-24 12:55:01

相關問題