漫游测试之性能测试(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

从返回的请求csdn的内容中查找‘文字的测试’是否存在:

 

很遗憾,abc_count0

 

原因是由于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.csdn.net",

"URL=http://blog.csdn.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);

 

转码有时候是很麻烦的,所以能够用英文或者数字字符的时候就用英文或者数字字符。选取恰当的返回内容为检查字符,也是很有考究的。

相关文章
相关标签/搜索