大开测试:性能-如何实现脚本分步录制(连载10)

7.10  如何实现脚本分步录制

1.问题提出

在进行一个B/S结构进销存管理系统脚本录制过程中,登录系统后,进行销售业务的处理,最后退出系统。因为登录和退出系统为一次性的操作,而销售业务可以执行多次,那有没有办法在录制脚本的时候,将系统登录、系统退出和业务处理3个部分分步录制呢?

2.问题解答

在进行Web应用系统测试时,通常包含登录系统、业务操作、退出系统3部分,登录系统部分主要是登录系统建立一个有效的连接,业务操作部分主要是进行相关业务的处理,退出系统部分主要是释放连接。而VuGen脚本主要也由vuser_init()、Action()、vuser_end()3部分构成。vuser_init()部分主要用于初始化工作(如初始化变量、建立连接等);Action()主要用于对被测试的业务逻辑、语句、算法等的处理;vuser_end()主要用于收尾工作(如释放内存、关闭连接等)。结合应用系统和VuGen脚本特点,不难发现,在进行脚本录制过程中,最好将登录系统部分放在vuser_init()部分录制,业务相关部分放到Action()录制,而退出系统部分放到vuser_end()部分录制。这样做不仅脚本结构更加清晰明了,而且可以保证在多次迭代时,不会反复进行登录和退出系统操作。有些读者对VuGen录制方式不是很熟悉,问是否一定要每次录制完以后,把脚本从Aciton部分、登录和退出部分分别剪切、粘贴到vuser_init()和vuser_end()部分呢?LoadRunner VuGen提供分段录制处理方式,选择Web(HTTP/HTML)协议,单击  或者通过菜单项依次选择【Vuser】>【StartRecording…】项,将弹出Start Recording对话框,如图7-22所示。

在“Record intoAction”下拉列表项中有3个选项,默认是选中“Action”项。可以在登录系统时,选中“vuser_init”项录制脚本,完成登录后进行相应业务操作时,再切换到“Action”项录制脚本,最后退出系统时候选择“vuser_end”录制脚本。图7-22中的“Record the application startup”项,默认是选中的,意思是在程序启动时就开始录制脚本。当在进行分段录制时,应将该选项取消,在需要录制脚本时可以单击【Record】按钮进行录制(如图7-23所示),录制过程中也可以通过录制工具条暂停录制(如图7-24所示),切换要录制脚本到vuser_init、Action、vuser_end,当然也可以建立新的Action,将脚本录制到新的Action中。

            

图7-22  录制对话框                                                                        图7-23  选择录制窗体

图7-24  录制工具条



更多信息请关注大开科技公众号或官方网站

www.dakaikeji.com.cn

时间: 2024-08-07 14:03:02

大开测试:性能-如何实现脚本分步录制(连载10)的相关文章

大开测试:性能- 如何在脚本中加入DOS命令(连载17)

7.17  如何在脚本中加入DOS命令 1.问题提出 在没有Windows操作系统之前,人们应用的是DOS操作系统,那么也可以在LoadRunner的VuGen脚本中加入DOS命令,方便脚本对业务的灵活处理. 2.问题解答 DOS是磁盘操作系统(Disk Operation System)的简称.在大量的应用领域中,DOS仍有相当的市场.尤其值得初学者重视的是,DOS中关于文件的目录路径.文件的处理.系统的配置等许多概念,仍然在Windows中沿袭使用,甚至在Windows出现故障时,还会用到基

大开测试:性能—如何解决脚本中的乱码问题(连载7)

7.7  如何解决脚本中的乱码问题 1.问题提出 平时在对Web应用程序性能测试的时候,可能会出现录制的脚本中汉字变为乱字符的现象. 2.问题解答 在所有字符集中,最知名的可能要数被称为ASCII的7位字符集了.它是美国信息交换标准委员会(AmericanStandards Committee for Information Interchange)的缩写,为美国英语通信所设计.它由128个字符组成,包括大小写字母.数字0-9.标点符号.非打印字符(换行符.制表符等4个)以及控制字符(退格.响铃

大开测试:性能—如何调整经常用到的相关协议脚本模板(连载4)

7.4  如何调整经常用到的相关协议脚本模板 1.问题提出 在应用LoadRunner VuGen过程中,可能经常会用到一些非系统函数,同时想加入一些注解信息和日志输出信息,将输出日志信息条理化,方便调试和分析,那么有什么方法将我们经常用到的协议脚本模板调整变成符合要求的脚本模板呢? 2.问题解答 可以针对自己经常用到的协议,加入必要注解,引用经常会用到的函数库文件,条理化日志输出信息等.下面仅以调整Web(HTTP/HTML)协议脚本模板为例. 首先,找到LoadRunner安装目录下的Tem

大开测试:性能-如何确定登录达到响应时间为3秒的指标(连载27)

7.27  如何确定登录达到响应时间为3秒的指标 1.问题提出 在日常性能测试过程中,经常会在用户需求文档中发现这样的说明,要求首页面响应时间为3s之内,登录的响应时间在5s之内等类似的信息,那么,我们如何清楚测试结果是否达到了预期的首页面.登录响应时间的性能指标呢? 2.问题解答 随着互联网技术的广泛发展,人们也对业务的响应时间要求越来越高,目前关于响应时间有一个广泛的应用原则就是"3-5-8"原则."3-5-8"原则指的是,如果用户发出一个请求后,这个请求在3s

大开测试:性能—如何添加并运用附加变量(连载6)

7.6  如何添加并运用附加变量 1.问题提出 LoadRunner 11.0中[Vuser]>[Run-time Settings]>[General]>[Additionalattributes]配置选项是如何应用于性能测试的呢? 2.问题解答 LoadRunner 11.0提供了一个非常有用的功能,就是可以向脚本传递参数,可以测试并监控具有不同客户端参数的服务器. 通过选择[Vuser]>[Run-time Settings]>[General]>[Additio

大开测试:性能-如何解决由于设置引起的运行失败问题(连载22)

7.22  如何解决由于设置引起的运行失败问题 1.问题提出 有时候,在场景执行完成以后,会出现很多由于设置不当而引起的一些问题,那么如何辨析是由于设置而引起的问题,并解决这些问题呢? 2.问题解答 我们在进行性能测试的时候,有些情况下是因为设置的问题而引起场景运行结果包含一些失败的信息内容.比较常见的失败信息有"Closing connection to <server>because it has been inactive for XXX s which is longer t

大开测试:性能- 基于目标和手动场景测试有何联系和不同(连载20)

7.20  基于目标和手动场景测试有何联系和不同 1.问题提出 在应用LoadRunner的Controller进行性能测试场景的设计时,有两种方案可以对场景进行设置,一种为手工方式,另一种为基于目标方式,那么在什么情况下针对性地选择这两种方式,它们之间有什么联系和不同呢? 2.问题解答 要使用LoadRunner进行系统性能测试,对系统进行负载,必须创建一个场景.场景中包含关于测试会话信息的文件.场景是一种模拟实际用户的方式.场景包含有关如何模拟实际用户的信息:虚拟 用户组.测试脚本以及用于运

大开测试:性能- 如何下载并保存文件到本地(连载18)

7.18  如何下载并保存文件到本地 1.问题提出 如何下载并保存文件到本地? 2.问题解答 一个人事管理系统项目一般都要实现能够上传和下载电子文件(如学位照.身份证.护照或者其他Word.Excel.Pdf等格式的电子文件),测试时为了模拟下载的场景,需要编写相关脚本.在HTTP中,没有任何一个方法或是动作能够标识“下载文件”这个动作,对HTTP来说,无论是下载文件或者请求页面,都只是发出一个GET请求,LoadRunner记录了客户端发出的对文件的请求,并能够收到文件内容.因此,完全可以通过

大开测试:性能—如何解决数据库查询结果过大导致录制失败(连载3)

7.3  如何解决数据库查询结果过大导致录制失败 1.问题提出 在进行一个进销存管理应用系统测试过程中,发现在进行查询后,由于查询结果数据记录条数过多,而引起后续脚本无法继续录制. 2.问题解答 我们在测试过程中发现,很多设置和数据库应用相关.这个问题的解决方法可以通过设置Vugen.ini的CmdSize项完成. Vugen.ini文件存放于Windows系统目录下,首先查找是否在该文件中存在"[SQLOracleInspector]"项,并且查看是否已经存在"CmdSiz