分享解決LoadRunner錄制時獲取不到Token的方法
用loadrunner錄制一個目前正在開發(fā)的一個項目的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錯誤,就想到是代碼問題,經(jīng)過與開發(fā)確認(rèn)后,請求頭中的token,cookie都沒有問題。由于我對腳本中怎樣處理token、cookie等也不熟悉,所以就錄制另一個我們正在使用的系統(tǒng)的登錄腳本,和我的腳本進(jìn)行對比。發(fā)現(xiàn)正在使用的系統(tǒng)錄制后的腳本能獲取到cookie值,并會自動添加web_add_cookie()函數(shù),并進(jìn)行自動關(guān)聯(lián);正在開發(fā)的系統(tǒng)腳本中怎么都找不到cookie相關(guān)的內(nèi)容。所以可以確定錄制時并沒有獲取到服務(wù)器響應(yīng)的token或cookie。
然后去看錄制配置信息時無意中解決了這個問題。具體方法如下:
1、進(jìn)入Recording Options > HTTP Properties > Advanced的頁面
2、打你Recording schemes中的Headers按鈕,進(jìn)入Headers彈出頁面
3、選擇“Record headers not in list",在下面的列表框中勾選“Csrf-Token”(對照你的HTTP請求頭,將請求頭中有的參數(shù)這里都勾選上。)
4、單擊OK
設(shè)置好后重新去錄制腳本,你會發(fā)現(xiàn)新錄制的腳本中多了一個函數(shù)web_add_header("x-token","具體的值"),在回放腳本前先選中token值單擊鼠標(biāo)右鍵選擇“Correlate Selection”進(jìn)行關(guān)聯(lián),然后回放就成功了。
說明:如果不進(jìn)行這些設(shè)置,錄制完后直接在請求腳本前面添加web_add_header("x-token","具體的值")函數(shù)應(yīng)該也可以。?類似的cookie,session也可以這樣處理。
本文轉(zhuǎn)自(spasvo.com)