• 0
  • 0
分享
  • 实例教学:LoadRunner文件导入脚本的录制——软件测试圈
  • 曼倩诙谐 2021-10-29 11:32:09 字数 1195 阅读 1205 收藏 0

  一、概述

  LOADRUNNER是Web应用性能测试常用的一个工具,它可以录制浏览器操作,并模拟大量用户并发访问系统。对于文件上传、文件导入的功能,在用LOADRUNNER录制生成脚本时,经常会出现一些问题,导致无法顺利进行测试。本文以某系统为例,介绍了导入文件脚本生成过程中遇到的问题及解决方案,对于其它系统的导入功能,可以参考借鉴。

  二、问题及解决方案

  1.同样的导入功能,却录制出不同的脚本,原因在哪?

  下面两段脚本都是在录制导入功能自动生成的,但脚本却相差很多:

  脚本一:

1-1.png

  脚本二:

1-2.png

  脚本一,将导入文件的二进制信息录制了出来,这样的脚本无法进行参数化,而且导入文件的内容不能变,否则无法回放成功。

  脚本二,没有二进制的信息,有导入文件的路径信息:

<div>"Name=sourceFile", "Value=D:\\template.xls", "File=Yes", ENDITEM,</div><div></div>

  脚本二这样的脚本正是我们想要的脚本,可以对文件名进行参数化,并发导入不同的文件。

  为什么同样功能录制出的脚本却不一样呢?经过仔细比较两个脚本的差别和反复测试发现,原来是由于在选择上传文件时的路径有差别。脚本一录制时选择的上传文件路径中带有中文,如脚本一中红框部分所示,中文在脚本中显示成了乱码,结果loadrunner就把文件的二进制信息录制出来了。而脚本二选择的文件路径中没有中文,结果就没有录制出二进制信息。

  Loadrunner为何这样实现,具体原因不太清楚,可能是由于带有中文乱码的文件路径信息虽然可以录制出来但是不能够识别和处理,就把二进制信息一起录制出来了。总之,只要文件路径、文件名没有中文,录制出来的脚本就是我们想要的了。

  2.如果文件路径中没有中文,录制出来的脚本还是有二进制信息,应该如何解决呢?

  这种问题虽然在实际当中还没有遇到过,但是通过手工对脚本进行改造,同样可以实现。

  仍以脚本一为例,手工改造步骤如下。

  首先,将二进制部分的内容全部删掉,删除后的脚本如下所示:

1-3.png

  然后,将web_custom_request函数改写为web_submit_data函数:

1-4.png

  红色框住的部分为修改的部分,说明如下:

  ·函数名的修改

  ·参数名URL改为Action

  ·将form-data中的参数-值改写为ITEMDATA的形式,在识别参数名称和参数值时注意排除\r\n等转义符的干扰

  到此为止就完成了脚本的改造,可以实现自动化的导入测试了。

  三、总结

  Loadrunner的脚本录制功能很强大,使用过程中可能会遇到各种问题,通过反复推敲和尝试,抓住每一个细节,问题真相就会逐渐浮出水面。



作者:云竹   

来源:http://www.51testing.com/html/69/n-4479269.html


2021 问卷礼物图.png

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   近日,#董明珠怒斥员工吃着碗里看着锅里#上了热搜。  董明珠在访谈中表示,她曾找员工来谈话,让他们去持有格力的股票,有的可能认为买这个没什么用,也许过两年就走了;有的买了,捞一把,最后还是走了。有的人吃着碗里还看着锅里的,绝对不会允许他在格力待下去。  在这个话题下,有接近10万位网友留言,不仅如此,这个采访在企业内部也引起了讨论。  作为企业高管及董事之一的CC认为,“吃着碗里的看着锅里”的员工明显是对企业的忠诚度不够,这样的员工不能留。  公司给员工的薪资福利根据员工的能力已充足,即“德配位”,职业规划也不错,员工依然“吃着碗里的看着锅里”,这样的员工“胃口”太大养不活,甚至不客气的说...
            0 0 1475
            分享
          •   JasperReports介绍  JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF、HTML或者XML格式,该库完全由Java写出,可以用于在各种Java应用程序,非常适合Java开发者用来做报表生成。  基本使用指南  新建项目  首先选择模板,这里就直接选了普通的A4模板。  这里用来设置文件名字和文件路径。  这里是选择数据源,我这里已经事先创建好了数据库连接,在后续测试取数据的时候会用到。  这里就是JasperReport的主界面,首先介绍一下界面的五个主要区域:  区域1:选择数据源和项目;  区域2:用于展示报表的内容列表,报...
            0 0 895
            分享
          •   在刚入行软件测试的时候,shell脚本也就是了解这个概念,那会儿也基本用不到这个技能,工作做得最多的就是点点点。  现在由于所处行业的关系吧,经常要在linux服务器做些常见操作。遇到不会的就百度,也慢慢的学了一些之前没有接触过的linux 命令,也开始看shell脚本的书籍,看过没有实战没有练习,也就存在一个概念。  Linux命令用多了,自然而然想到了shell脚本,想要用它来解决一些工作中的重复操作,于是开始边学边用,效果还不错。  工作场景:  我们测试的时候会把软件包拷贝到管理平台的软件仓库中,如果仓库中有,就要覆盖掉。  手动操作的流程是这样的:  wget【url】:下载软件...
            0 0 727
            分享
          • 第一部分:先准备好Jmeter1.在开始编写脚本之前,先要确保你的Jmeter能够正常运行。若你还没有安装Jmeter,可参考以下方法:Jmeter需要java运行环境,所以需要下载JDK,JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html(最好使用 JDK 8  以上的版本,上述链接下可以下载最新的 JDK 版本)安装JDK,请参考百度教程:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html(注意java环境...
            14 14 3325
            分享
          •   引言  在这里,笔者将总结并反思在最近组织体系落地后的测试工作。将涵盖从工作目标到总结与展望的各个部分,以便读者朋友可以轻松了解笔者在工作中所面临的挑战和解决方案。  1.工作目标  笔者的工作目标始终是致力于提供高质量的测试工作成果,并为团队创造最大的价值。在这个周期内,笔者专注于提升自身自动化测试技能,扩大笔者的OA业务知识基础,履行测试和发布新流程,并与运维团队成员建立更强大的合作关系。  2.完成的任务  在这段时间内,笔者负责了51个重要项目,并成功地完成了它们。其中包括:  完成了一项重要的绩效系统测试,保证产品交付的及时性和准确性,帮助笔者们的开发和产品队员实现了更好的协作和...
            0 0 850
            分享
      • 51testing软件测试圈微信