效能測試手冊:一分鐘掌握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函式
- Loadrunner11 手動關聯
- 使用Loadrunner進行效能測試
- 效能測試推廣手冊
- LoadRunner關聯技術的應用
- loadrunner常用函式函式
- jmeter 效能測試入門手冊分享JMeter
- 1分鐘掌握 Python 函式引數Python函式
- 如何學習效能測試?LoadRunner小技巧集錦
- oracle函式手冊(轉)Oracle函式
- 函式文件或者手冊函式
- 一分鐘搞明白!快速掌握 Go WebAssemblyGoWeb
- 服務端效能測試你應該知道的服務端
- ORACLE分析函式手冊(轉)Oracle函式
- 使用LoadRunner執行專案效能測試之實操指南
- 效能測試工具LoadRunner你所不知道的內幕
- 關於bug,測試應該怎麼提
- 關鍵應用的可觀測效能力設計應該引起關注
- 效能測試學習筆記:Loadrunner如何進行引數化?筆記
- ORACLE分析函式手冊二(轉)Oracle函式
- 軟體效能測試報告應該包含的內容,效能測試報告需要多少錢?測試報告
- 誰來教我滲透測試——黑客應該掌握的Windows基礎黑客Windows
- 只需一分鐘,帶你快速掌握linux head命令!Linux
- LoadRunner測試結果分析(1)
- Jmeter效能測試:高併發分散式效能測試JMeter分散式
- 效能測試常用工具對比:Jmeter與LoadRunner的異同JMeter
- 手遊前端效能測試前端
- 關於 JavaScript 中的特殊函式,你應該這樣看JavaScript函式
- 一分鐘掌握MySQL的InnoDB引擎B+樹索引MySql索引
- 開放式測試搜尋不到應用怎麼辦
- 效能測試調優應該注意哪些要點,一般效能測試調優的步驟-Alltesting|澤眾雲測試
- 2024 年測試求職手冊求職
- 易優標籤常用函式-EyouCms手冊函式
- 軟體測試學習教程——LoadRunner實現介面測試
- 分析函式改寫自關聯函式
- [譯]掌握 JavaScript 面試:什麼是純函式?JavaScript面試函式
- 測試開發:你所需要掌握瞭解的效能測試知識
- 一分鐘sed入門(一分鐘系列)