參考:http://www.blogjava.net/qileilove/archive/2012/05/31/379631.html
LoadRunner中涉及到向服務(wù)器發(fā)送請(qǐng)求的API方法包括:web_url(),web_submit_form(),web_submit_data(),web_custom_request()。下面介紹兩種我常用的方法:
方法一:使用web_submit_data()
web_submit_data("insert",
"Action=http://116.211.23.123/SNS/Publish.htm ",
"Method=POST",
"Referer=http://116.211.23.123/SNS/Publish.htm ",
"Mode=HTML",
ITEMDATA,
"Name= SNSID ","Value=6601",ENDITEM,
"Name= UserID ","Value=123",ENDITEM,
"Name= CommentsTypeID ","Value=1",ENDITEM,
"Name= CommentsID ","Value=456",ENDITEM,
"Name= AuthorID","Value=789",ENDITEM,
"Name= CommentsContent ","Value=Just for testing",ENDITEM,
LAST);
方法二:使用web_custom_request()
char str[1000];
strcpy(str,"SNSID=7999&UserID=1&CommentsTypeID=1&CommentsID=1&AuthorID=1&CommentsContent=1");
web_custom_request("Publish",
"Url= http://116.211.23.123/SNS/Publish.htm",
"Method=POST",
"Referer=http://116.211.23.123/SNS/Publish.htm ",
"Mode=HTTP",
str,
LAST);
這也是一種寫法,可以跟web_submit_data互換。這種寫法更利于拼接參數(shù)。
方法一適合一些xml結(jié)構(gòu)的根元素下的子元素同處于根元素下面,且子元素?cái)?shù)目較少的情況下,如果xml結(jié)構(gòu)比較復(fù)雜,比如說(shuō)根元素下面有多級(jí)子元素,或者xml樹(shù)結(jié)構(gòu)分叉較多的時(shí)候,我們可以先把xml拼接成一個(gè)字符串然后通過(guò)web_custom_request()向服務(wù)器發(fā)送請(qǐng)求。
我們?cè)谧鼋涌诠δ軠y(cè)試的時(shí)候會(huì)很注意接口的應(yīng)答報(bào)文的信息,這時(shí)候我們可以通過(guò)LoadRunner的日志信息查看或者可以通過(guò)web_reg_find()或者web_find()這樣的API函數(shù)來(lái)統(tǒng)計(jì)接口的運(yùn)行結(jié)果,推薦使用web_reg_find(),web_reg_find()和web_find()區(qū)別請(qǐng)大家百度一下,詳細(xì)信息太多,在這里不便敘述。
因?yàn)閣eb_reg_find()是注冊(cè)型函數(shù),所以應(yīng)該放在web_submit_data()或者web_custom_request()的前面。
如:
web_reg_find("Text=0",//應(yīng)答報(bào)文里邊的信息
"SaveCount= StatusCodeCount", //統(tǒng)計(jì)查詢字段的信息,如果找到值為1,如果未找到值為0
LAST);
在腳本的最后我們可以對(duì)查詢字段的信息進(jìn)行統(tǒng)計(jì)
// Check result
if (atoi(lr_eval_string("{StatusCodeCount }")) > 0){ //判斷如果Welcome字符串出現(xiàn)次//數(shù)大于0
lr_output_message("Send out the comment successfully."); }//在日志中輸出Send out //the comment successfully
else{ //如果出現(xiàn)次數(shù)小于等于
lr_error_message("Send out the comment unsuccessfully."); //在日志中輸出Send out //the comment successfully
return(0);
}
總結(jié):用LoadRunner做接口測(cè)試無(wú)法做到把接口參數(shù)和程序分理,接口的參數(shù)可以通過(guò)參數(shù)化的方法來(lái)實(shí)現(xiàn)對(duì)同一個(gè)參數(shù)多個(gè)數(shù)據(jù)的測(cè)試。參數(shù)化后的測(cè)試數(shù)據(jù)保存在此腳本的保存位置下。