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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   想知道面试时该怎样介绍测试项目?会问到什么程度?那就需要换位思考,思考HR在这个环节想知道什么。  HR在该环节普遍想获得的情报主要是下面这2个方面:  1)应聘者的具体经验和技术能力,  2)应聘者的团队的沟通能力、合作能力和问题解决能力。  了解到HR目的后,我们就能预判出项目面试题的广度和深度啦,做到有的放矢即可。  一类问题:体现应聘者的具体经验和技术能力的问题  问题1:介绍一个你最熟悉的项目  解答思路:  ·项目是干什么的?以及项目的基础架构(B/S或者C/S)  · 项目是给谁用的?  · 项目的核心模块有哪些?简单罗列一些  · 项目的核心业...
            1 1 383
            分享
          • 摘要Sybase IQ列存储数据库由于查询速度快、数据压缩比高、数据加载快而广泛应用于OLAP系统中,我行一些重要系统及其历史库目前还部署在Sybase IQ数据库上。近几年随着Oracle数据库成为我行主流数据库,其他数据库(如Sybase IQ、Sybase ASE)正逐渐迁移至Oracle数据库中。本文以日常工作中一个具体案例为背景,详细介绍Sybase IQ数据库的整库异机恢复方法,通过大量测试得出Sybase IQ数据库不同版本、不同操作系统间数据迁移的可行性,希望对开发及数据服务人员有所借鉴。关键字:Sybase IQ、DBSPACE、DBFILE、生产数据备份、数据恢复环境/脱敏...
            0 0 2088
            分享
          •   1、背景  以后大家如果是从事专职性能测试,一定要进行分布式压测;  场景:一台控制机和两台执行机,做分布式,要求控制机启动,两台执行机执行,反馈结果。  最贴近工作情况:  控制机:作为办公电脑,工作测试电脑。  执行机:代理机,负载机: 可以直接用服务器的电脑;(服务器的电脑比较干净)肉鸡。  jmeter分布式执行原理:  1.jmeter分布式测试时,选择其中一台作为控制机;其它机器作为代理机;  2.执行时,控制机会把脚本发送到每台代理机上,代理机拿到脚本后就开始执行,代理机执行时不需要启动jmeter界面,可以理解它是通过命令行模式执行的;  3.执行完成后,代理机会把结果回传...
            0 0 231
            分享
          • 在谷歌搜索引擎中输入"如何选择一种测试工具?" ,你会发现答案从开源软件到各种基于不同假设的最佳繁衍物,五花八门。一类结果是假定在理想状态下你需要一个不需要编码的、基于GUI界面的测试工具,而另一类结果宣称是可以编码的自动化测试,第三类则是更加感兴趣于测试工具中的例子和文档是否可被执行。Liquidity Services公司的质量和测试主管Connor Roberts曾说过,有时公司引入或更换测试工具,仅仅是因为新上任的经理在上一家公司有此工具的使用经验,或者为了节省开支,使得预算单上的数据看起来更漂亮。Connor Roberts说:最终每天都使用工具的团队发现自己和以...
            1 1 2904
            分享
          • 2017年8月开始接手做持续集成平台的工作,该平台包含打包发布,每日构建,稳定测试  首先收集现状,源码管理混乱,底层打包空间共用,apk打包在本地,没有稳定性测试,专项测试。需求整理,需要做源码管理,分离底层共用的空间,打包统一使用服务器打包,增加自动化测试 下面说下我们的每日构建跟稳定性测试:1.客户端每日构建  1.1、单元测试  单元测试主要是由开发负责编写的,主要是因为开发对产品更加的了解,同时测试开发团队人太少了,要做的事情好多,优先做其他的。关于框架选择,最初想要使用的方案是robolectric + junit4 + mockito + dagger2,然后被项目经理及总监否定...
            2 2 3030
            分享
      • 51testing软件测试圈微信