51Testing软件测试论坛

标题: LoadRunner下载文件并保存在本地 [打印本页]

作者: 任道远    时间: 2007-1-31 22:28
标题: LoadRunner下载文件并保存在本地
论坛上经常有人问起,如何让LoadRunner可以下载文件并保存在本地。 初看起来,这个问题应该不是问题:LoadRunner录制的是Client(浏览器)和服务器之间的交互,自然也就能记录到下载文件的动作和收到下载文件的全部内容,但如果真用LoadRunner去尝试这样一个工作,却会发现在LoadRunner录制的脚本中根本没有任何与下载文件相关的语句。 其实,在HTTP协议中,本来就没有任何一个方法或是动作能够标识“下载文件”这个动作,对HTTP协议来说,下载文件或是请求页面,都只是一个GET方法,至于说我们下载文件时看到的那个提示我们给出用户名的对话框,那完全是客户端自身判断到我们请求的是一个文件而自行处理的。 那么,究竟该如何才能让LoadRunner完成这个工作呢?通过上面的分析,我们已经知道了这样一些事实: 1、文件请求是通过GET方法请求的; 2、LoadRunner已经记录了客户端发出的对文件的请求,并能够收到文件内容; 因此,我们完全可以通过关联的方法,从LoadRunner发出的请求的响应中获取到文件的内容,然后通过LoadRunner的文件操作方法,自行生成文件。 从LoadRunner录制时的记录(Recording Log)中,我们可以看到具体的请求和请求的响应信息(见下图): 从这里可以看到,我们只需要对以下语句进行关联,就能获得文件的内容。 获得文件内容后,通过LoadRunner的fopen,fwrite,fclose函数,就可以将这部分内容保存成本地文件了。 以下附件是完整的脚本程序。 [attach]286[/attach] 当然,本脚本只是简单实现了文件下载并保存本地的功能,如果我们希望每次下载保存到本地的文件采用不同的名称,或是希望根据实际文件的后缀名动态生成后缀名,则还需要额外的工作。读者可以自行思考如何实现。

[attach]77367[/attach]
作者: Zee    时间: 2007-1-31 23:36
顶顶。
作者: lrh_2008    时间: 2007-2-27 14:30
好好
作者: rickyzhu    时间: 2007-2-27 15:18
这是个好帖,楼主一定要把图和完整的脚本再上传一次,呵呵.

期望...
作者: picture    时间: 2007-2-27 17:54
思路不错学习中.以后有机会试试,
顶顶
作者: beckham516    时间: 2007-4-19 15:08
文本文件可以这么做,要是二进制文件的话,就可能保存下来的文件会有问题,不过模拟整个下载过程的压力足够了。不过这样做不如干脆把要下载的文件后缀改成htm,用文本打开后在最后加上几行html代码做检查点,这样好像更方便一些~~
作者: 51mobile    时间: 2007-5-2 19:37
没有看到附件啊,楼主忘记了?
作者: yusuhua118    时间: 2010-7-20 13:02
我要
作者: msnshow    时间: 2010-7-20 13:14
附件没有了
作者: gdavid    时间: 2012-2-3 15:53
附件呢?~
作者: gdavid    时间: 2012-2-3 15:54
附件呢?~
作者: cu_zhuang    时间: 2012-2-15 10:40
学习ing。附件来了。。。
作者: fairy2011    时间: 2012-2-27 14:57
挺好的东东哦
作者: zhengfenglin    时间: 2012-2-27 19:33
谢谢!
作者: zhengfenglin    时间: 2012-2-27 19:33
学习当中
作者: bao009009    时间: 2012-2-29 08:14

作者: mengfeiyang    时间: 2012-3-1 17:15
大哥,你这个能做并发?所有的文件名都是test.rar? ,应该给下载的文件名参数化。
作者: yzsztjf    时间: 2012-7-14 10:46





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2