千家信息网

laodRuner中Http协议接口编写

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,需求要求:这两天试用Windows sockets 协议编写脚本,突然说要测试应用服务压力,后面与开发协商是用http协议之后,没有脚本可以录制,从loadrunner自带函数查可以使用web_cus
千家信息网最后更新 2024年11月18日laodRuner中Http协议接口编写

需求要求:这两天试用Windows sockets 协议编写脚本,突然说要测试应用服务压力,后面与开发协商是用http协议之后,没有脚本可以录制,从loadrunner自带函数查可以使用web_custom_request函数编写,之后通过火狐插件:HttpRequester参考,再加网上前辈提供帮助,之后编写如下脚本:

测试并且通过。

发现问题,在loadrunner中压测能返回报文,并且查找条件也能正确。但发现数据库查出结果,中文出现乱码;希望谁能指点下;

Action()
{

char* Recode="000000"; //增加判断正确条件
char* WebRecode; //定义关联函数取值


web_reg_save_param("yanz",
"LB=",
"RB=
",
LAST);

web_reg_find("Text=000000",
LAST);

lr_start_transaction("ABC_试算");

web_custom_request("web_custom_request",
"URL=【ip】", //报文IP地址
"METhod=post",
"Resource=0",
"Referer=",
"Mode=HTML",
"RecContentType=application/json",
"EncType= text/xml;charset=UTF-8",
"Body="
//报文内容
""
"

"
"20151102 "
"140854
"1002 "
"11"111113396600{SerNn} "
........................
........................

""
"", LAST);

WebRecode = lr_eval_string( "{yanz}" ) ;

if(strcmp(Recode,WebRecode)==0) //试用判断函数
{
lr_end_transaction("ABC_试算", LR_PASS);
}
else
{
lr_end_transaction("ABC_试算", LR_FAIL);

lr_output_message( "We are on iteration #%s", lr_eval_string( "{yanz}" ) ); }

return 0;
}


//字符串比较判断。

if(strcmp(lr_eval_string("{www}"),"登陆成功")==0)
{
lr_end_sub_transaction("login",LR_PASS);
}
else
{
lr_end_sub_transaction("login",LR_FAIL);
}

注:

extern int strcmp(const char *s1,const char *s2);当s1当s1=s2时,返回值= 0
当s1>s2时,返回正数
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"<"B" "a">"A" "computer">"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
ANSI标准规定,返回值为正数,负数,0 。

谢谢小强老师的借口测试视频,谢谢前辈们的指点。

愿大家能平安健康如意;

0