转:Loadrunner学习知多少--脚本录制下载操作

  在很多时候我们可能需要对系统进行这样的脚本开发,模拟用户点击一个下载链接,然后弹出下载框,选择保存,用来测试在大量用户下载时服务器的性能。但是现在大家对于这种脚本的处理方式往往是通过关联和C 语言的文件读写的方式来处理的,因为LR 不会录制到下载的这个请求,我们不但要手工写一个请求的模拟,还要用过关联来处理,非常的不便。

这里我介绍一种简便的处理方法:

LR 在录制脚本时默认只会录制基于HTML 和XML 个格式的请求,并且生成WEB_URL  函数,所以不会录制出来关于下载这样的请求,怎么让 LR 能识别呢?我们先来分析一下下载请求的数据格式。

这里使用HTTPWATCH 对DISCUZ 论坛的下载进行分析

 

当我们点击了 1.rar 文件的时候,会对系统产生一个 attachment.aspx?attachmentid=39  的请求,而这个请求的TYPE  为application/octet-stream,如果我们能告诉LR  以后对这种数据格式都进行录制,那么岂不是这个请求就可以被录制到了?

打开VUGEN  的录制选项,找到高级中的Non-Resources

在这里我们可以给Vugen  设置录制的过滤规则,我们为其添加针对application/octet-stream这类格式的录制规范

确定后,我们再次录制脚本,就可以发现录制出来的脚本会包含一个新的web_url 请求

    web_url("attachment.aspx",

        "URL=http://172.168.1.200/attachment.aspx?attachmentid=39",

        "TargetFrame=",

        "Resource=0",

        "RecContentType=application/octet-stream",

        "Referer=http://172.168.1.200/showtopic-60315.aspx",

        "Snapshot=t56.inf",

        "Mode=HTML",

        LAST);

这是以前没法录制到的,通过回放测试,我们可以在返回数据包的格式大小中确认该请求是将附件的文件完全下载到本地的,你可以在脚本的回放目录中找到.unk 后缀名的文件,该文件就是下载附件请求所得到的附件文件,我们无需编写任何复杂的关联和c 语言脚本即可完成对文件下载操作的模拟了。

当使用show browse during replay 选项时,运行到下载操作,也会弹出真实的下载确认框,通过该框可以找到下载后的文件地址。尽量不要选择它,不然在运行时,也会弹出下载的对话框。

 

此外,想要找到这个文件保存在哪的话,按照这个方式:下载的录制方法,录制完毕之后,查看test results中查看到有一个

这样的图标,注意下他的名称是:T8.UNK.那么去脚本保存后所在的文件的result1\Iteration1中找到T8.UNK,用压缩包方式打开就可以了

注:本文转自http://www.cnblogs.com/yangxia-test/p/3623512.html

posted on 2014-03-31 22:33  lci05  阅读(387)  评论(0编辑  收藏  举报

导航