1. 程式人生 > 實用技巧 >8.loadrunner效能測試之請求函式(手動編寫指令碼)

8.loadrunner效能測試之請求函式(手動編寫指令碼)

前言:前面有介紹幾種錄製的方法,但是錄製總是需要一氣呵成,錄製完還要回頭看指令碼的邏輯,並且錄製也會出現很多沒用的請求,這裡介紹非錄製方式的指令碼生成方式(很多人都不知道的方式,使用起來比錄製簡單的多)

備註:雖然方法簡單,但是還是要有一點lr函式的基礎,需要知道你要做什麼可以用到什麼函式,不過,常用的函式百度即可

一、插入函式的方法

1 位置:工具欄-插入-新建(快捷鍵Alt+Insert)
2 備註:不能在Action函式外插入,否則報錯

二、幾個請求函式的區別

1 web_url只發送get請求方式,與上下文無關
2 web_custom_request方法可以傳送POST和GET型別的請求
3 web_submit_data只能傳送POST型別請求,提供了所有資料,推薦 4 Web_submit_form易用不需要關聯,但有時候會莫名出錯,不推薦

三、請求函式之web_url

1     web_url("web_url",
2         "URL=www.baidu.com",
3         "TargetFrame=",
4         "Resource=0",
5         "Referer=",
6         LAST);

四、請求函式之web_submit_data();

 1     web_submit_data("web_submit_data
", 2 "Action=www.baidu.com", 3 "Method=POST", 4 "TargetFrame=", 5 "Referer=", 6 "Mode=HTML",//當引數中有{或者“時要用\轉義 7 ITEMDATA, 8 "Name=user", "Value=zhang", ENDITEM, 9 "Name=pwd", "Value=123456", ENDITEM, 10 LAST);

五、請求函式之web_custom_request();

1     web_custom_request("web_custom_request",
2         "URL=WWW.baidu.com",
3         "Method=POST",
4         "TargetFrame=",
5         "Resource=0",
6         "Referer=",
7         "Mode=HTML",
8         "Body=user=zhang&pwd=123456",
9         LAST);

六、for迴圈

1     int i;  //注意:在指令碼編輯區用到的變數必須放在首行,變數作用域只在當前action
2     for(i=1;i<=7;i++){
3         web_url("隨機搜尋name"","https://www.baidu.com/s?wd={name}}",LAST);}  
4     //for(初始化語句,條件語句,迴圈變數變化){迴圈體}
5     //當i小於7的時候搜尋引數化的name

七、其他常用函式

1 lr_save_string("aaa","param");將字串“aaa”,另存為param
2 atoi(lr_eval_string("{param}")):將LR引數{param}轉換為數字型別
3 lr_output_message向日志文件,輸出視窗和其他測試報告摘要傳送訊息
4 lr_eval_string返回指令碼中的一個引數當前的值
 1 web_submit_data("web_submit_data",
 2         "Action=http://baidu.com",
 3         "Method=POST",
 4         "TargetFrame=",
 5         "Referer=",
 6         "Mode=HTML",
 7         ITEMDATA,
 8         "Name=login_info", "Value={username}", ENDITEM,
 9         "Name=password", "Value=123456", ENDITEM,
10         LAST);
11 lr_output_message("output de neirong shi:%s",lr_eval_string("{username}"));\\輸出上面請求使用的user引數

八、跨Action間的傳參

在init初始化函式中登入請求前插入關聯找到token,發現在action中可直接使用,故Action間可直接傳參