这段时间在协助一位同事用LoadRunner进行某个Web项目的性能测试。解决了一些常见的入门问题,在此做个梳理。
问题1:对于脚本中URL=http://www.XXXXX.com/s?id=123456,我们要如何对“123456”进行参数化呢?
场景:用户提交一个字符串信息,在页面跳转的时候,程序会将字符串处理成相应的数字或类似于“%CC%D9%D7%CF”形式的参数进行Get传值;即形成跳转后的页面的URL。
当输入“甲”,跳转到id=1的页面,输入“乙”,跳转到id=2的页面时,我们没有必要在dat参数文件中设定“甲”那一行对应“1”,“乙”对应“2”。当然,有很多时候id不是具体的数值,而是一串乱码,根本没法设定。但是这种对应关系又是有必要的,不然,URL不正确,页面无法跳转,测试就无法进行下去。那么,如何对它进行参数化呢?
解决措施:进入Tree视图,如下图所示,选择你想要参数化的内容,右击创建参数。LR会在将要跳转的web_url之前生成脚本:
// [WCSPARAM WCSParam_Text1 7 830,000] Parameter {WCSParam_Text1} created
by Correlation Studio
web_reg_save_param( "WCSParam_Text1", "LB=百度一下", "RB=", "Ord=1", "IgnoreRedirections=Yes", "Search=Body", "RelFrameId=1", LAST );
web_reg_save_param( "WCSParam_Text1", "LB=百度一下", "RB=", "Ord=1", "IgnoreRedirections=Yes", "Search=Body", "RelFrameId=1", LAST );
当然,你可以使用lr_log_message("The value is : %s",
lr_eval_string("{WCSParam_Text1}"));查看该参数在每一次运行时的值;
也可以将参数写入外部文件:
long file;
char* num;
char* num;
//打开存储参数的外部文件CountNum.dat
file=fopen("C:\\CountNum.dat","at+");
num=lr_eval_string("{WCSParam_Text1}\t\t");
fputs(num,file);
fclose(file);
file=fopen("C:\\CountNum.dat","at+");
num=lr_eval_string("{WCSParam_Text1}\t\t");
fputs(num,file);
fclose(file);
问题2:运行时报Error msg:(Proxy Authentication Required ( Forefront TMG
requires authorization to fulfill the request. Access to the Web Proxy filter is
denied. ))
场景:在某些企业域中,除了要设置IE的代理,在打开IE时还需要输入域账号和密码。而这个动作LoadRunner是无法录制下来的,在Run脚本的时候,就会出现上述错误消息。
解决措施:在Vuser--》Run time Setting --》 Internet Protocol --》
Proxy-》Authentication中设置
问题3:录制脚本中的中文乱码
解决措施:在Virtual User Gen中设置Tools->Recoding Options ->
Advanced -> Support charset -> 勾选UTF-8 就OK了。
我使用的是LR9.5,在录制charset=gb2312的网站(如,百度、和讯)没有出现乱码问题;或许是我接触LR还不深,目前也只碰到这一种乱码的情况。
其他乱码问题的解决办法参见:http://www.51testing.com/?uid-270355-action-viewspace-itemid-205573
其他乱码问题的解决办法参见:http://www.51testing.com/?uid-270355-action-viewspace-itemid-205573