漫游测试之性能测试(3.1、Loadrunner的介绍-3.1.3.3 web_reg_find)
从请求的返回消息体中查找字符串是否存在。这个函数,是检查请求返回内容是否正确的最佳途径,也是最可靠的。该函数的使用模式较多,推荐使用该模式。
web_reg_find("Text=ABC", "SaveCount=abc_count", LAST ); --从请求的返回中查找ABC这个字符,并将找到该字符条件的数目存到abc_count中。
web_custom_request("Step", "URL=...", LAST ); --客户端的请求
if (strcmp(lr_eval_string("{abc_count}"), "0") > 0) --如果找到的数目大于0,则事务正确。或者再调用某个Action
Action A (或者 lr_start_transaction pass)
else
Action B (或者 lr_start_transaction fail)
从返回的请求****的内容中查找‘文字的测试’是否存在:
很遗憾,abc_count为0。
原因是由于Loadrunner使用的ASCI码,而后台使用的是UTF8,而直接检查中文时后台是不认识的,故需要转码一下。
char tmpBlog[50];
lr_convert_string_encoding( "文字的测试",
LR_ENC_SYSTEM_LOCALE,
LR_ENC_UTF8,
"blog" );//将指字字符串转码成utf8,并存入blog这个字段中
strcpy(tmpBlog,lr_eval_string("{blog}")); //copy到临时变量tmpBlog中
lr_save_string(tmpBlog,"tmptmpBlog"); //tmpBlog转换成Loadrunner的变量
web_reg_find("Text={tmptmpBlog}", "SaveCount=abc_count", LAST );
web_custom_request("blog.****.net",
"URL=http://blog.****.net/qwentest",
"Method=GET",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t152.inf",
"Mode=HTTP",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
"Body=",
LAST);
转码有时候是很麻烦的,所以能够用英文或者数字字符的时候就用英文或者数字字符。选取恰当的返回内容为检查字符,也是很有考究的。