8.loadrunner效能測試之請求函式(手動編寫指令碼)
阿新 • • 發佈:2020-09-04
前言:前面有介紹幾種錄製的方法,但是錄製總是需要一氣呵成,錄製完還要回頭看指令碼的邏輯,並且錄製也會出現很多沒用的請求,這裡介紹非錄製方式的指令碼生成方式(很多人都不知道的方式,使用起來比錄製簡單的多)
備註:雖然方法簡單,但是還是要有一點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間可直接傳參