
LoadRunner测试下载文件
发布日期:2025-04-11 02:29:20
浏览次数:9
分类:精选文章
本文共 1575 字,大约阅读时间需要 5 分钟。
如何让LoadRunner下载文件并保存本地
在使用LoadRunner进行功能测试时,很多人会遇到一个问题:虽然LoadRunner能够录制并分析客户端与服务器之间的交互,但在录制的脚本中却找不到任何与下载文件相关的操作。这种情况是为什么呢?我们来深入分析一下。
问题分析
文件请求的特性
在HTTP协议中,文件的下载请求实际上是通过GET
方法发出的,与其他类型的GET
请求没有本质区别。因此,从LoadRunner的录制日志中,我们只能看到客户端请求文件的具体路径和参数,而无法直接看到"下载"的明确动作。响应内容的关联性
危险的是,虽然LoadRunner无法直接记录下载操作,但它确实能够完整地记录客户端与服务器之间的通信过程。这意味着我们可以从日志中提取出与文件下载相关的信息,然后利用这些信息自行构建下载文件的功能。解决方案
通过对LoadRunner录制日志的分析,我们可以发现以下关键信息:
文件请求的具体细节
LoadRunner会记录下客户端向服务器发出的文件请求,包括请求的URL、内容类型、来源页面等信息。例如: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);
文件内容的提取
在响应中,我们可以找到文件的全部内容。通过关联请求和响应,我们可以知道文件的大小和具体内容。例如:flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);
文件本地存储
通过LoadRunner提供的文件操作函数(如fopen
、fwrite
、fclose
等),我们可以将文件内容保存到本地。例如:filedes = fopen("c:\\test.rar", "wb");if (filedes == NULL) { lr_output_message("Open File Failed!"); return -1;}fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);fclose(filedes);
注意事项
文件路径
在上述代码中,c:\\test.rar
是文件路径,需要根据实际情况修改。确保路径正确,避免出现错误。用户验证信息
如果服务器需要验证用户信息(如username和passwd),请在代码中添加相应的验证逻辑。文件命名规则
如果希望生成不同的文件名,可以根据实际需求添加命名规则。例如,根据文件扩展名自动生成文件名。总结
通过上述方法,我们可以实现LoadRunner下载文件并保存到本地的功能。虽然LoadRunner本身并不直接支持文件下载操作,但通过分析请求和响应信息,我们可以模拟下载过程,并将文件内容保存到本地。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年05月06日 09时26分53秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
List 去重的 6 种方法,这个方法最完美
2023-02-05
List 去重的 6 种方法,这个方法最完美!
2023-02-05
List 集合去重的 3 种方法
2023-02-05
List,Set,Map三者的区别(不同点)
2023-02-05
list.pop 的 numpy 等效项?
2023-02-05
List<Map>遍历修改map值
2023-02-05
List<T> to DataTable
2023-02-05
ListBox 循环删除当前项
2023-02-05
listbox相互传值
2023-02-05
Listener监听器
2023-02-05
ListUtil常用操作
2023-02-05
Listview 利用Datapager进行分页
2023-02-05
ListView 的图片下载,优化造成的跳变
2023-02-05
Listview加载不同布局
2023-02-05
listview数据刷新后自动滑到底部
2023-02-05
List中new ArrayList和null有什么区别
2023-02-05
list之按照中文拼音首字母排序
2023-02-05
List内存分配
2023-02-05