这周一开始就着手学习使用LoadRunner,并且用该性能压力测试工具进行公司的某两个项目的性能测试。
组长那边本来是没有预留时间给学习该测试工具的,还想这周就把所有的测试搞定。这,明显不可能!再加上2天的学习,更是发觉其中强大和能力的复杂。
2.周一,录制了简单的脚本,但其中很多的专业术语已经设置一头雾水。勉强会使用“参数化”了,初步会使用“事务”。发现录制的脚本存在乱码问题。网上找了一些解决方案,发觉不见效果。了解的相关方法:lr_log_message()、lr_output_message()、lr_eval_string();
当天晚上跳累了,早早睡觉。或许是周末去游玩得太累了有关系。
2.周二,解决了乱码问题。发现了新问题——web_add_cookie()方法的JSESSIONID值是写死的。
原来对于UTF-8的web网页的测试,需要在“录制设置”中设置“UTF-8”的支持。设置了之后会发觉web_url()方法里面依然会出现乱码,但运行的时候输出的是正确的。这或许是因为脚本文件的编码格式为GBK,显示出来的UTF-8的中文字符就会乱码的缘故。如果需要本地编码与UTF-8编码之间转换,可使用方法“lr_convert_string_encoding”,如:
lr_convert_string_encoding(“中文”,LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,”str”);//系统本地编码转UTF-8
lr_convert_string_encoding(“lr_eval_string(“{name}”),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,”str”);//UTF-8转本地编码
(以上可配合lr_log_message()查看输出的数据)
另外RL8.1的UTF-8编码方式录制的脚本存在一些问题。有些x8A、x84 等的字符转义码前面被多加了一个反斜杠””。弄得我的测试好些数据就此而对应的地方乱码。[confused]
当天晚上在宿舍继续自学LR,清楚了其中三大应用程序——虚拟用户生成器、控制器、分析器。同时对脚本优化也有了一点研究,涉及参数化、事务、检查点、集合点。
3.周三,明白了web_add_cookie()方法的JSESSIONID值的动态获取方法。起源于我们测试的项目的SSO(单点登录)问题。并取得了第一份测试报告。呵呵!
此问题花费了2天时间解决,问题竟然不在Session的存储上,而在于SSO(单点登录)的Cookie设置的问题。LR8.1录制的cookie设置参数是静态的值,无法使用“自动关联”让它动态化。这也因该设置没有严格的格式所致,我也对LR的这问题表示谅解。需要手动关联,取得JSESSIONID的参数值,把该值通过参数的形式存储并赋值给web_add_cookie()方法的相应位置。代码如下:
web_reg_save_param(“JSESSIONID_CUR”, //取值的赋给参数的名称
“LB=JSESSIONID=”, //左边界
“RB=;”, //右边界
“Ord=1”, //缺省值是1。如为All,则将所有找到的内容储存起来
“NotFound=warning”,//error warning
“Search=body”, //搜索的位置 head body
“RelFrameId=1”,
LAST);
//lr_output_message(“the jsessionid is: %s”, lr_eval_string(“{JSESSIONID_CUR}”));
这其中,获取JSESSIONID的参数值的时机和JSESSIONID的赋值时机是需要自己琢磨的。
近期评论