博客
关于我
LoadRunner测试下载文件
阅读量:803 次
发布时间:2023-02-06

本文共 1591 字,大约阅读时间需要 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提供的文件操作函数(如fopenfwritefclose等),我们可以将文件内容保存到本地。例如:

    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本身并不直接支持文件下载操作,但通过分析请求和响应信息,我们可以模拟下载过程,并将文件内容保存到本地。

    转载地址:http://afufk.baihongyu.com/

    你可能感兴趣的文章
    NIO笔记---上
    查看>>
    NIO蔚来 面试——IP地址你了解多少?
    查看>>
    NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
    查看>>
    NISP国家信息安全水平考试,收藏这一篇就够了
    查看>>
    NIS服务器的配置过程
    查看>>
    Nitrux 3.8 发布!性能全面提升,带来非凡体验
    查看>>
    NiuShop开源商城系统 SQL注入漏洞复现
    查看>>
    NI笔试——大数加法
    查看>>
    NLog 自定义字段 写入 oracle
    查看>>
    NLog类库使用探索——详解配置
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>
    NLP 模型中的偏差和公平性检测
    查看>>
    Vue3.0 性能提升主要是通过哪几方面体现的?
    查看>>
    NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
    查看>>
    NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
    查看>>
    NLP三大特征抽取器:CNN、RNN与Transformer全面解析
    查看>>
    NLP学习笔记:使用 Python 进行NLTK
    查看>>
    NLP度量指标BELU真的完美么?
    查看>>
    NLP的不同研究领域和最新发展的概述
    查看>>
    NLP的神经网络训练的新模式
    查看>>