性能测试整体流程分为以下几部分:
本次分享一下第六部分:脚本开发——HTTP
做过loadrunner性能测试的同学都用过脚本录制功能,但是在脚本录制时经常会遇到以下问题:
无法掉起IE浏览器
调起IE后,action事件始终为0
调起IE后,窗口卡死
升级IE或更换IE版本后,不能录制了。
。。。 。。。
这些情况在网上很容易搜到解决方案。例如:
a) LoadRunner录制自身的缺陷。
b) LoadRunner支持IE版本的局限。
c) 系统默认浏览器的设置错乱。
d) 安全软件拦截。
e) IE插件设置。
f) 系统兼容。
g) … …
但是按照网上操作下载,你会发现,没有什么卵用,没有一个可以解决问题的~
鉴于此,古人云,靠人不如靠己,既然不能录制,那就自己写脚本。
(一) 准备工作:
a) 熟悉抓包工具使用(这里推荐httpanalyzer)。
1) 由于httpanalyzer是基于hook抓包,loadrunner是基于代理录制,这样不会冲突,loadrunner回放时,httpanalyzer可以抓到回放请求。
b) 了解自己测试的需求,页面测试还是接口级测试?
1) 这决定函数参数为http还是html。
c) 了解server想要的东西是什么?
1) 这决定服务器是否会处理发上去的请求。如果不符合请求,如没有cookie,UA不对,这样服务器就不会处理,达不到打压的目的。
d) 了解LoadRunner使用的脚本语言基本格式。
1) 参数、变量转换,转义符等。
e) 了解LoadRunner的几个基本函数。
1) Get请求用web_url
2) Post请求用web_custom_request
f) 形成自己查找LoadRunner函数及其使用方法的习惯。
1) Loadrunner的函数帮助文档很完善,每个函数都有使用使用实例,所以养成自己查找的习惯,可以省去打扰别人的麻烦。
(二) 录制请求:
a) 打开httpanalyzer,点击开始录制按钮,开始操作要录制的应用。
b) 找到要打压的请求或请求组,查看request headers信息。
i. 如果是get类型的请求,可以使用web_url函数来实现,不同参数的取值参照抓包请求的字段。
(三)
i. 如果是post类型的请求,可以使用web_custom_request函数来实现,post的内容需要写在body参数中。如果上传的是文件或二进制,需要使用bodyfilepath参数,将文件路径引入进去。
Post Josn
Post文件
注:
1、根据上面获取到的逻辑和数据进行脚本开发。
2、在保证尽量模拟用户行为的前提下,尽量使脚本简单。如if语句和for循环。这类语句在高并发下,本身就可能导致压力机性能问题。
{测试窝原创文章,作者:曹承臻}
作者简介:曹承臻,06届大学本科毕业,数学专业,6年软件测试行业经验。