性能测试流程之脚本开发-HTTP篇

2017-01-19  秦天 

性能测试整体流程分为以下几部分:

本次分享一下第六部分:脚本开发——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年软件测试行业经验。

470°/4705 人阅读/0 条评论 发表评论

登录 后发表评论