效能測試手冊:一分鐘掌握LoadRunner關聯函式應該放在那
為什麼要有關聯函式
如果客戶端的某個請求是隨著伺服器端的響應而動態變化,我們就需要用到關聯,通過關聯函式獲取動態的返回值,傳給後面的函式使用,完成測試上下文的流程串聯。
定義:在指令碼回放過程中,客戶端發出請求,通過關聯函式所定義的左右邊界值(也就是關聯規則),在伺服器返回的響應內容中查詢,得到相應的值,將其儲存的變數中,後續請求再通過對應變數指向的記憶體取出資料發給伺服器發,已完成正確的業務流程的效能測試,這種動態獲得伺服器響應內容的方法被稱作關聯。
關聯函式的位置(經驗結果屢試不爽)
關聯函式簡述
1、 web_reg_save_param("usersession","LB=<input type=hidden name=userSession value=","RB=>",LAST);
2、 web_reg_save_param("usersession","LB=<input type=hidden name=userSession value=","RB=>",“ORD=ALL”,”Savelen=18“,LAST);
其中:
usersession是loadrunner的引數名或者引數陣列名。
LB是動態返回值的左邊界
RB是動態返回值的右邊界
ORD=ALL是選擇所有相同左右邊界的字串都存入引數或者引數陣列中
Savelen=18是要儲存的字串的長度
LAST表述函式結束位置
一般關聯函式都是放到出現動態返回引數的錄製響應函式之上,第一個非資源和指令碼的響應之前,就可可以了
舉例
web_url("home.html",
"URL=http://127.0.0.1:1080/WebTours/home.html",
"Resource=0",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true",
"Snapshot=t6.inf",
"Mode=HTTP",
LAST);
web_reg_save_param("usersession","LB=<input type=hidden name=userSession value=","RB=>",LAST);
//這個位置就是出現動態引數之前,第一個非資源和指令碼響應的位置
//web_url("nav.pl"))之下有一個js指令碼和若干個圖片類資源
web_url("nav.pl",
"URL=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
"Resource=0",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true",
"Snapshot=t7.inf",
"Mode=HTTP",
LAST);
web_concurrent_end(NULL);
web_concurrent_start(NULL);
web_url("JSFormSubmit.js",
"URL=http://127.0.0.1:1080/WebTours/JSFormSubmit.js",
"Resource=1",
"RecContentType=application/x-javascript",
"Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
"Snapshot=t8.inf",
LAST);
web_url("mer_login.gif",
"URL=http://127.0.0.1:1080/WebTours/images/mer_login.gif",
"Resource=1",
"RecContentType=image/gif",
"Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
"Snapshot=t9.inf",
LAST);
web_concurrent_end(NULL);
lr_start_transaction("login-0");
lr_think_time(17);
web_submit_data("login.pl",
"Action=http://127.0.0.1:1080/WebTours/login.pl",
"Method=POST",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
"Snapshot=t10.inf",
"Mode=HTTP",
ITEMDATA,
"Name=userSession", "Value={usersession}", ENDITEM,
"Name=username", "Value=test001", ENDITEM,
"Name=password", "Value=123456", ENDITEM,
"Name=JSFormSubmit", "Value=on", ENDITEM,
"Name=login.x", "Value=53", ENDITEM,
"Name=login.y", "Value=12", ENDITEM,
LAST);
其他一些注意事項
- web_set_max_html_param_len()函式可以自定義關聯返回值存放的引數的最大長度,記得一定要寫在關聯函式前面。
- Loadrunner是類C語言,因此很多注意獲取邊界的時候的轉義字元
轉義 | 含義 |
---|---|
\b | Backspace 鍵 |
\f | 換頁 |
\n | 換行 |
\r | 回車 |
\t | 水平製表符 |
\v | 垂直製表符 |
’ | 單引號 |
" | 雙引號 |
\\ | 反斜槓 |
? | 文字問號 |
相關文章
- PHP 手冊中的匿名函式關聯用法分析PHP函式
- Loadrunner C/S關聯函式(LSP)AND(LSSS)使用-案例函式
- 測試 JavaScript 函式的效能JavaScript函式
- jmeter 效能測試入門手冊分享JMeter
- JN專案-效能測試loadrunner
- LoadRunner效能測試工具---(一)使用流程
- NIST 函式手冊函式
- LoadRunner效能測試工具---(三)測試結果樣例分析
- LoadRunner關聯技術的應用
- 效能自動化測試工具Loadrunner篇
- LoadRunner長連線效能測試指令碼指令碼
- 服務端效能測試你應該知道的服務端
- 一分鐘搞明白!快速掌握 Go WebAssemblyGoWeb
- 函式文件或者手冊函式
- oracle函式手冊(轉)Oracle函式
- C庫函式手冊函式
- ORACLE分析函式手冊Oracle函式
- 效能測試工具LoadRunner知識點總結
- 1分鐘掌握 Python 函式引數Python函式
- 效能測試:分散式測試分散式
- loadrunner常用函式函式
- 如何學習效能測試?LoadRunner小技巧集錦
- ORACLE分析函式手冊(轉)Oracle函式
- 函式-PHP手冊筆記函式PHP筆記
- ORACLE分析函式手冊二Oracle函式
- Loadrunner 簡明操作手冊
- 誰來教我滲透測試——黑客應該掌握的Windows基礎黑客Windows
- 軟體效能測試報告應該包含的內容,效能測試報告需要多少錢?測試報告
- Jmeter效能測試:高併發分散式效能測試JMeter分散式
- lib庫實現loadrunner驅動mysql效能測試MySql
- LoadRunner JAVA Vuser協議開發效能測試指令碼Java協議指令碼
- 在LoadRunner中使用檔案的相關函式函式
- 關鍵應用的可觀測效能力設計應該引起關注
- ORACLE分析函式手冊二(轉)Oracle函式
- Frida官方手冊 - 函式Hook函式Hook
- delphi函式參考手冊 (轉)函式
- 開放式測試搜尋不到應用怎麼辦
- loadrunner常用函式總結函式