一种录制HTTP操作请求自动生成性能测试脚本的方法与流程

文档序号:18885000发布日期:2019-10-15 20:45阅读:1221来源:国知局
一种录制HTTP操作请求自动生成性能测试脚本的方法与流程

本发明涉及软件性能测试技术领域,特别涉及一种录制http操作请求自动生成性能测试脚本的方法。



背景技术:

在web应用、移动app已遍及社会各方面,给人们的生活带来了便利,使用web应用和移动app的用户越来越多且频率越来越高,相应的对web应用、移动app的性能要求也越来越高。目前使用loadrunner或者jmeter软件来模拟大量用户并发同时访问的方式来执行性能测试,以性能测试的结果数据来评价系统的性能,了解系统的可靠性和稳定性。

loadrunner在录制web应用时存在浏览器的兼容性问题,不同的loadrunner版本支持的浏览器版本也不同,例如:lordrunner12支持对internetexplorer11、chrome版本30和firefox版本23的录制,使用internetexplorer、chrome、firefox其它版本进行录制时需要进行代理设置才可以录制。loadrunner12对不支持的浏览器录制web脚本的流程:打开loadrunner12的virtualusergenerator->新建脚本,在弹出框中选择web(http/html)协议,然后点击创建按钮->弹出startrecording窗口,选择对应的录制类型(internetapplications),选择浏览器,选择需要测试的web地址,选择浏览器安装地址,点击录制设置按钮,选择网络进行loadrunner代理服务器的设置->在代理设置菜单,点击新增按钮,弹出新增代理服务器设置页面,上面输入系统服务器的地址(ip或者域名不用写http://)和端口号,serviceid选择http,以及监听端口号,设置完成后,点击确定按钮,loadrunner代理设置完成->再进行浏览器代理设置,在浏览器的代理设置页面,输入本机地址(127.0.0.1)和端口号,需确保该端口号与loadrunner中设置的监听端口号一致->loadrunner12代理与浏览器代理设置完成后,点击录制按钮,弹出录制对话框,ie路径选择lr的代理服务器在loadrunner12安装目录下bin目录下的wplus_init_wsock.exe文件->设置完成后点击录制按钮,弹出录制界面与代理服务器。就可以在loadrunner12不兼容的浏览器上输入你需要录制的服务器地址,在浏览器中开始执行要录制的操作,loadrunner开始录制->录制结束后,点击结束录制,关闭浏览器的代理,不然会造成上不了网的后果。这样loadrunner通过代理实现录制不同浏览器不同版本浏览器的功能。

jmeter录制web脚本的流程:打开jmeter,添加“http代理服务器”->配置http代理服务器->“启动”按钮启动http代理->配置浏览器的代理->jmeter和浏览器代理设置完后,在浏览器中开始执行要录制的操作,jmeter开始录制->录制停止后只有将代理服务关闭才能打开网页。

loadrunner实现支持所有浏览器录制和jmeter实现录制功能都需要设置代理进行http脚本的录制,loadrunner/jmeter录制脚本采用代理的方式,客户端请求的数据会先发到代理服务器(录制器),录制器将数据转发给服务器端;服务器端的响应数据先发给录制器,然后由录制器响应给客户端。

loadrunner和jmeter录制的脚本内容是web页面的所有请求数据,一个web页面会有多个http请求数据,这些数据包括动态请求与js、css、jpg等静态请求;录制结束后才能查看脚本且对录制好的脚本进行优化,删除不需要的请求。因此loadrunner和jmeter录制脚本时存在手动设置代理的操作复杂和无法实时查看录制情况的问题,且录制完成后需要手动取消浏览器的代理。



技术实现要素:

本发明的目的是克服上述背景技术中不足,提供一种录制http操作请求自动生成性能测试脚本的方法,针对手动设置代理的操作复杂和无法实时查看录制情况的问题,以及手动取消浏览器的代理问题,本发明的方法是一种能自动改写http代理录制http操作脚本后自动注销浏览器代理的方法,该方法操作简单,并能快速生成loadrunner和jmeter压力测试脚本。

为了达到上述的技术效果,本发明采取以下技术方案:

一种录制http操作请求自动生成性能测试脚本的方法,包括以下步骤:

a.打开录制程序,设置监听端口;

b.浏览器默认使用系统代理或设置手机wifi代理,其中,浏览器代理与代理服务器的代理地址和监听端口保持一致;

c.启动http代理服务器,作为本地系统代理启动;

d.记录http请求,打开测试应用并进行点击操作,录制程序抓取并记录应用的http操作请求数据;

e.筛选和过滤http请求选择;

f.回放带有备注的脚本;

g.选择所有带有备注且回放成功的请求数据,以一定的格式保存脚本;

h.退出录制程序,自动注销代理,设置windows上注册表中proxyenable值为0;

i.在loadrunner12或jmeter中打开脚本文件,自动解析生成压测脚本。

进一步地,所述步骤a中设置监听端口时具体是将监听端口设为未使用的端口号。

进一步地,所述步骤b中,设置手机wifi代理时具体为置的手机wifi代理的主机名为http代理服务器所在电脑的ip地址,端口号为录制程序设置的监听端口号。

进一步地,所述步骤e具体为对于记录的所有http请求,根据域名、类型和返回状态码进行过滤,只显示需要的记录,选择需要的操作请求记录并添加备注,记录http相应操作名称和顺序。

进一步地,所述步骤f具体为在录制程序的http请求序列中,选择带有备注的请求并按操作顺序进行回放,查看脚本的正确性。

进一步地,所述步骤g中,若需要在loadrunner中打开则以saz格式的文件形式保存;若需要在jmeter中打开选择导出类型为jmeter,以jmx文件格式保存。

进一步地,所述步骤i具体为:在loadrunner12中打开saz格式的文件,自动生成loadrunner能识别的测试脚本;在jmeter中打开jmx脚本文件自动生成jmeter能识别的测试脚本。

本发明与现有技术相比,具有以下的有益效果:

本发明的录制http操作请求自动生成性能测试脚本的方法,以http代理服务器作为系统代理服务器录制web应用的http操作请求和通过远程连接的方式录制移动app的http操作请求,并记录所有的http请求,根据筛选和过滤条件过滤出需要的http操作请求保存为脚本文件,在loadrunner和jmeter中打开脚本文件自动解析生成loadrunner和jmeter压测脚本,http代理服务器退出后,自动注销代理,该方法操作简单无需手动设置,并能快速生成loadrunner和jmeter压测脚本,有效解决现有技术存在的loadrunner或者jmeter中需手动设置代理才能进行录制且录制后需手动注销浏览器代理的问题。

附图说明

图1是本发明的录制http操作请求自动生成性能测试脚本的方法流程示意图。

具体实施方式

下面结合本发明的实施例对本发明作进一步的阐述和说明。

实施例:

实施例一:

如图1所示,一种录制http操作请求自动生成性能测试脚本的方法,包括以下步骤:

步骤一:打开录制程序,设置监听端口,具体是将监听端口设为未使用的端口号;具体可以通过“netstat–ano”命令可以查看已使用的端口,监听端口号设为未使用的端口号,如本实施例中监听端口号为8888。

步骤二:浏览器默认使用系统代理或设置手机wifi代理,其中,录制web应用的http操作请求脚本时执行,浏览器默认使用系统代理或设置手机wifi代理,录制移动应用时则在此步骤中执行设置手机wifi代理的操作;

具体的,浏览器代理与代理服务器的代理地址和监听端口保持一致,设置手机wifi代理时具体为置的手机wifi代理的主机名为http代理服务器所在电脑的ip地址,端口号为录制程序设置的监听端口号。

步骤三:启动http代理服务器,作为本地系统代理启动;修改windows上注册表中的proxyserver的值,如为http=127.0.0.0.1:8888和proxyenable值为1。

步骤四:记录http请求,打开测试应用并进行点击操作,录制程序抓取并记录应用的http操作请求数据。

步骤五:筛选和过滤http请求选择;具体为对于记录的所有http请求,根据域名、类型和返回状态码进行过滤,只显示需要的记录,选择需要的操作请求记录并添加备注,记录http相应操作名称和顺序。

步骤六:回放带有备注的脚本;具体为在录制程序的http请求序列中,选择带有备注的请求并按操作顺序进行回放,查看脚本的正确性。

步骤七:选择所有带有备注且回放成功的请求数据,以一定的格式保存脚本;若需要在loadrunner中打开则以saz格式的文件形式保存;若需要在jmeter中打开选择导出类型为jmeter,以jmx文件格式保存。

步骤八:退出录制程序,自动注销代理,设置windows上注册表中proxyenable值为0。

步骤九:在loadrunner12或jmeter中打开脚本文件,自动解析生成压测脚本;具体为在loadrunner12中打开saz格式的文件,自动生成loadrunner能识别的测试脚本;在jmeter中打开jmx脚本文件自动生成jmeter能识别的测试脚本。

本方法的实际应用中,web应用一般是浏览器端/服务器端应用程序,这类应用程序一般借助谷歌,火狐等浏览器来运行;而浏览器和服务器的是基于http协议进行通信的;移动应用一般也是通过http与后台服务进行交互的,因此可以用http代理服务器形式工作的程序,让数据从代理服务器通过,实现监控并且截取到数据的目的来录制http操作请求。

以http代理服务器形式工作的程序,作为http的代理服务器时,设置监听端口号,代理服务器通过监听端口号监听记录所有http操作;http代理服务器程序和浏览器装在本机电脑上的,也就是需监听本机上的所有http请求数据,本机的ip为127.0.0.1;http的代理服务器以系统代理形式启动,会自动修改windows上注册表中的proxyserver的值为http=127.0.0.1:监听端口号和proxyenable值为1,表示启用代理服务器。http代理服务器要抓取移动应用的http请求数据,可以通过远程连接的方式实现录制http操作请求。在手机端网络里设置wifi代理,代理服务器主机名为http代理服务器程序所在电脑的ip地址,端口号为监听端口号,这样设置后就实现了远程连接。

启动http代理服务器后,一般浏览器默认都是使用系统代理设置,若浏览器的代理设置已修改过,则需重新设置成使用系统代理设置,这样浏览器的代理就会自动设定为代理服务器的代理地址和监听端口,实现在本机上监听端口号的http代理,这样代理服务器就可以监听数据了。

代理服务器跟浏览器或者移动应用建立连接之后,浏览器或者移动应用向目标服务器发送的请求都会经过代理服务器,此后所有的http请求都会经过此代理服务器进行请求转发,且记录所有的http请求。每一条http请求都包含请求数据和响应数据,根据域名、类型或者返回状态码进行过滤显示需要的记录,再筛选需要的http请求保存为脚本文件,在loadrunner或者jmeter中打开脚本文件自动解析生成loadrunner或者jmeter压测脚本。代理web服务器退出后会自动注销代理,通过修改windows上注册表中proxyenable值为0的方式不启用代理服务器来注销掉代理,这样就不会影响别的程序

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1