1 使用VuGen录制脚本
1.1新建脚本和解决方案
(1)打开VuGen,单击【File】→【New Script and Solution】创建项目,弹出Create a New Script对话框。
左侧栏是协议分类,每项含义如下所示:
● Single Protocol:单协议。
● Multiple Protocols:多协议。
● Mobile and lo T:移动与物联网协议。
● Popular:流行的协议。
● Recent:最近使用的协议。
协议的选择要与所测试的项目保持一致,由于LoadRunner自带的项目使用的是单协议Web-HTTP/HTML,因此本次创建脚本选择【Single Protocol】→【Web-HTTP/HTML】。测试人员在选择协议时,如果不清楚项目使用的协议,可以询问开发人员确认项目使用的协议。
(2)协议页面设置完成后,单击【Create】按钮,项目创建成功。
上图中左侧栏是项目列表,其中最重要的是Actions文件部分,VuGen录制的脚本就存储在Actions文件夹下。 Actions文件夹包含三个文件:vuser_init、Action、vuser_end。
● vuser_init:该文件中定义了一个vuser_init()函数,一般测试前的初始化操作会录制到该函数中,如打开网站、启动客户端之类的操作。
● vuser_end:该文件中定义了一个vuser_end()函数,一般测试结束之后的回收工作会录制到该函数中,如退出网站、关闭客户端之类的操作。
● Action:该文件中定义了一个Action()函数,测试中的操作过程都会录制到该函数中。
录制完成的脚本如果进行多次迭代执行,那么仅重复执行脚本的Action部分,vuser_init与vuser_end部分只执行一次,不会重复执行。 在本次测试中,为了节省篇幅我们将整个订票过程都录制到Action()函数中。
1.2录制选项配置
在录制之前需要先进行一些配置,单击红色的录制按钮,弹出Start Recording-[WebTours]对话框。点击录制或是隔壁的按钮都是可以进行配置的。
各配置项含义如下:
(1)Record into action:用于设置脚本的存储位置,它有vuser_init、Action、vuser_end三个值。
(2)Record:用于选择录制类型,它有四个选项:
● Web Browser:浏览器方式。
● Windows Application:Windows应用程序方式。
● Remote Application via LoadRunner Proxy:远程程序代理方式。
● Captured Traffic File Analysis:数据流文件方式。
(3)Application:用于选择浏览器。
(4)URL address:用于选择要测试的Web项目的URL地址。
(5)Start recording:用于选择录制方式。Immediately表示立即录制,单击【Start Recording】按钮后就开始录制;In delayed mode表示延迟录制,第一次单击【Start Recording】按钮后会先在浏览器中打开URL地址,再次单击该按钮才会录制操作脚本。暂时先不用点击,因为配置完之后我们还需要启动一个服务才可以。
(6)Working directory:LoadRunner的工作目录,可以选择脚本录制的目录。
配置完上述几个选项之后,并不能立即开始录制,还需要配置一些其他选项。单击上图左下角的“Recording Options”链接,弹出Recording Options对话框。
注意:对于常规浏览器的录制,建议不要使用基于URL的脚本模式,因为该模式将所有的操作都录制为web_url步骤,而不是web_link、web_image等分离的元素,它更容易产生关联问题。但是,对于录制小程序或非浏览器应用程序的页面,URL-based script最为理想。
本次测试为了使操作步骤直观清晰选择HTML-based,单击【HTML Advanced…】按钮,弹出Advanced HTML对话框。
设置Script type(脚本类型)和Non HTML-generated elements(非HMTL元素的生成策略)。 Script type有两个选项:
● A script describing user actions(web_link,web_submit_form):注重用户操作,记录用户单击的节点。
● A script containing explicit URLs only:脚本只包含URL步骤。
Non HTML-generated elements有三个选项:
● Record within the current script step:脚本文件在当前步骤生效。
● Record in separate steps and use concurrent groups:脚本文件在当前组内生效。
● Do not record:不记录脚本。
按照上图进行勾选,之后单击【OK】按钮完成脚本录制方式设置
(3)单击【HTTP Properties】→【Advanced】选项将编码设置为UTF-8。
设置完成之后单击【OK】按钮返回到协议选择页面,此时就完成了录制前的所有选项设置。
1.3启动web服务
在我们的安装目录下找到【WebTours】->【StartServer】,右键点击启动,在这里可能会出现闪退的问题,无论是运用管理员身份打开还是直接双击,都会直接闪退,查询了一下发现可能存在端口占用的问题,但是右键点击打开又确实不会闪退了。启动之后就会出现一个命令行。
这样子是报错了。
问题1:LoadRunner12启动webTour程序报错httpd.exe: Could not reliably determine the server’s fully qualified domain name, using 192.168.x.x for ServerName
参考这个链接:LoadRunner12启动webTour程序报错“httpd.exe: Could not reliably determine the server‘s fully…“_启动webtours时提示could not reliably determine the serv-CSDN博客
解决后这样子就没问题了:
问题2:LoadRunner 录制脚本时提示无Internet访问/加载慢
参考链接:LoadRunner 录制脚本时提示无Internet访问/加载慢,如何解决?_loadrunner无internet访问-CSDN博客
问题3:Loadrunner回放脚本时报错Action.c(41): Error -27979: Requested form not found [MsgId: MERR-27979]
1.4脚本录制启动
录制选项设置完毕,在项目页面单击【Start Recording】按钮开始录制脚本。录制开始,VuGen会先弹出录制工具栏。
弹出录制工具栏之后,还需要将web浏览器选择为软件自带的firefox浏览器,选择路径如下,非常重要!!!否则会出现录制脚本结束之后显示仍然为空。比如点击开始录制之后不论点击什么操作,录制步骤那里一直不动显示为3这样。就会导致脚本录制失败。url地址如下:http://127.0.0.1:1080/WebTours/
修改完成之后就可以开始录制操作了。VuGen会调用FireFox浏览器打开WebTours网站,读者输入默认的用户名(yoyo)和密码(bean)进行登录,预订机票之后退出,然后单击录制工具栏中的停止按钮结束录制。
然后点击结束录制, 录制完成之后会生成一个脚本,用户的点击操作不同,生成的脚本也不同。
录制完成的脚本可以进行回放,单击工具栏中的运行按钮 可以让VuGen自动执行脚本。本次录制脚本执行结果如下图。
本次内容有错误在44行,内容为表单为空。 同时我还发现咱们这时候并没有生成录制报告也不知道为什么,希望有大佬看到之后进行指正交流问题出在哪里。如果是没问题的话,执行的回放结果如下图所示。
1.5小结
在使用LoadRunner进行性能测试时,虽然可以使用VuGen自动生成脚本,但它会包含很多“杂质”,有些元素并不是用户需要的,例如在预订机票时,如果网页加载缓慢,用户可能会多次点击某个按钮,这些重复的操作都会被录制到脚本中,这就造成了脚本的冗余,因此在创建脚本时,测试人员最好手动编写,这样可以保证脚本的准确精炼。