分享解決LoadRunner錄制時獲取不到Token的方法
用loadrunner錄制一個目前正在開發的一個項目的web頁面的登錄腳本,回放時一直提示以下錯誤信息:
1、Token was wrong ,The server encountered an internal error
2、Error -26612: HTTP Status-Code=500
3、web_custom_request("login") highest severity level was "ERROR",2531 body bytes,204 header btyes
看到500錯誤,就想到是代碼問題,經過與開發確認后,請求頭中的token,cookie都沒有問題。由于我對腳本中怎樣處理token、cookie等也不熟悉,所以就錄制另一個我們正在使用的系統的登錄腳本,和我的腳本進行對比。發現正在使用的系統錄制后的腳本能獲取到cookie值,并會自動添加web_add_cookie()函數,并進行自動關聯;正在開發的系統腳本中怎么都找不到cookie相關的內容。所以可以確定錄制時并沒有獲取到服務器響應的token或cookie。
然后去看錄制配置信息時無意中解決了這個問題。具體方法如下:
1、進入Recording Options > HTTP Properties > Advanced的頁面
2、打你Recording schemes中的Headers按鈕,進入Headers彈出頁面
3、選擇“Record headers not in list",在下面的列表框中勾選“Csrf-Token”(對照你的HTTP請求頭,將請求頭中有的參數這里都勾選上。)
4、單擊OK
設置好后重新去錄制腳本,你會發現新錄制的腳本中多了一個函數web_add_header("x-token","具體的值"),在回放腳本前先選中token值單擊鼠標右鍵選擇“Correlate Selection”進行關聯,然后回放就成功了。
說明:如果不進行這些設置,錄制完后直接在請求腳本前面添加web_add_header("x-token","具體的值")函數應該也可以。?類似的cookie,session也可以這樣處理。
本文轉自()