51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4204|回复: 8
打印 上一主题 下一主题

[求助] 如何修改录制下载文件的脚本?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-3-20 16:25:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用loadRunner录制了一个从网页上下载某文件到本地系统上的脚本,便是在运行回放时,发现文件并没有被下载到本地系统上,请问这种现像脚本需不需要做修改?要做怎样的修改?


急啊!请高手指教一下啊!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-3-20 17:14:59 | 只看该作者

怎么回事?

我刚才也试了一下,也是没有到本地,但是发现脚本中也没有录下本地的东西,在研究一下!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-3-21 09:12:36 | 只看该作者
刚好有个测试压力的案例要做这个,但现在什么都录不下下载那一刻的操作。。。
搞了半天都不知什么办好。。。
高手帮忙啊。。。。在线等。。。。!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-3-24 14:39:29 | 只看该作者
clampye ,你好啊!过了几天了,不知道你那个问题有没有解决。我想跟你说,虽然是脚本中没有录下本地的东西,回放之后当然也是那不到本地的,但是在lr回放的日志中发现是已经实现的了!它已经实现下载了,只是没有拿到本地而已,所以我们的脚本是可以用的,你的方案也是可以的。
这是我研究得出的,我的msn:guai00@163.com,有什么问题再一起讨论啊!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-23 11:09:48 | 只看该作者

那如何验证是否成功了呢???本地确实没下载的文件。

lr回放的日志中发现是已经实现的了!它已经实现下载了,只是没有拿到本地而已....那如何验证是否成功了呢???本地确实没下载的文件。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-4-23 11:14:57 | 只看该作者
如何让LoadRunner可以下载文件并保存在本地。
        初看起来,这个问题应该不是问题:LoadRunner录制的是Client(浏览器)和服务器之间的交互,自然也就能记录到下载文件的动作和收到下载文件的全部内容,但如果真用LoadRunner去尝试这样一个工作,却会发现在LoadRunner录制的脚本中根本没有任何与下载文件相关的语句。
        其实,在HTTP协议中,本来就没有任何一个方法或是动作能够标识“下载文件”这个动作,对HTTP协议来说,下载文件或是请求页面,都只是一个GET方法,至于说我们下载文件时看到的那个提示我们给出用户名的对话框,那完全是客户端自身判断到我们请求的是一个文件而自行处理的。
        那么,究竟该如何才能让LoadRunner完成这个工作呢?
        通过上面的分析,我们已经知道了这样一些事实:
1、文件请求是通过GET方法请求的;
2、LoadRunner已经记录了客户端发出的对文件的请求,并能够收到文件内容;
        因此,我们完全可以通过关联的方法,从LoadRunner发出的请求的响应中获取到文件的内容,然后通过LoadRunner的文件操作方法,自行生成文件。
        从LoadRunner录制时的记录(Recording Log)中,我们可以看到具体的请求和请求的响应信息:
        从这里可以看到,我们只需要对以下语句进行关联,就能获得文件的内容。
web_url("viewfile.asp",
        "URL=http://www.testage.net/bbs/viewFile.asp?BoardID=25&ID=217",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=http://www.testage.net/bbs/dispbbs.asp?boardID=25&ID=5187&page=1",
        "Snapshot=t16.inf",
        "Mode=HTML",
        EXTRARES,
        "Url=viewFile.asp?BoardID=25&ID=217", "Referer=http://www.testage.net/bbs/dispbbs.asp?boardID=25&ID=5187&page=1", ENDITEM,
        LAST);
        获得文件内容后,通过LoadRunner的fopen,fwrite,fclose函数,就可以将这部分内容保存成本地文件了。
//获取响应中的文件长度
    flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

    if(flen > 0)   
    {
        //以写方式打开文件
        if((filedes = fopen("c:\\test.rar", "wb")) == NULL)
        {
            lr_output_message("Open File Failed!");
            return -1;
        }
        //写入文件内容
        fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);
        //关闭文件
        fclose(filedes);
    }
        点击下载完整的脚本文件。
        注意,使用该脚本文件时,请自行修改参数username和passwd的值。
        当然,本脚本只是简单实现了文件下载并保存本地的功能,如果我们希望每次下载保存到本地的文件采用不同的名称,或是希望根据实际文件的后缀名动态生成后缀名,则还需要额外的工作。读者可以自行思考如何实现。^_^
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-23 11:15:37 | 只看该作者
网上找到的,发上来  给你们参考一下
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-6-4 16:20:16 | 只看该作者
看了一下,还是不明白
“从这里可以看到,我们只需要对以下语句进行关联,就能获得文件的内容。”
以下语句是指下载的请求语句吗
如何进行关联呢
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2012-11-8 15:55:37 | 只看该作者
试验下。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-8 06:05 , Processed in 0.069651 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表