[发明专利]一种Gatling压测脚本本地预编译调试方法及系统有效
申请号: | 201810427819.4 | 申请日: | 2018-05-07 |
公开(公告)号: | CN108647142B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 罗鹏 | 申请(专利权)人: | 杭州有赞科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41 |
代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 姚宇吉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gatling 脚本 本地 预编 调试 方法 系统 | ||
本发明公开了一种Gatling压测脚本本地预编译调试方法及系统,其中方法通过构建Gatling压测脚本工程,将Gatling提供的启动Jar包引入到Gatling压测脚本工程的项目类库中,利用Gatling压测组件调用源码Jar包中的脚本进行压测,从而实现了在本地调试与编译Gatling压测脚本文件。进一步地,调试成功后,通过发布部署系统一键发布gatling‑script.jar可执行Jar包到所有压测服务器,从而避免在各个压测服务器上手动发布。
技术领域
本发明涉及计算机技术领域,尤其涉及一种Gatling压测脚本本地预编译调试方法及系统。
背景技术
Gatling(服务器性能测试工具)是一款开源的基于HTTP(超文本传输协议)的压测工具,它能同时模拟出百万用户并发访问某个网站URL(网址)的请求,从而达到对网站进行场景压力测试的目的。比如,购物网站的抢购场景,包括商品查看、购买、下单、支付等业务逻辑链路,能在一个脚本中实现对整个链路的压测。在使用上,它需要使用Scala语言编写对应的压测脚本,简单的可以是单个URL的压测,复杂的可以是上述整个链路的压测,然后将单个源码压测脚本文件上传至服务器上Gatling安装包下对应的脚本目录中,然后启动Gatling的shell运行脚本,并指定对应的脚本运行类名称,Gatling就会开始编译脚本目录下所有的脚本文件,编译后,选择脚本运行类名称对应的脚本文件作为本次压测的脚本,开始执行压测。
现有的Gatling压测脚本不能提前编译,需要将源码脚本文件上传至服务器,交由Gatling自己进行编译,因此不能在本地调试提前发现脚本的潜在错误;而且编译也需要时间,多个服务器上的Gatling同时压测时,也会因时间执行不一致,从而影响到实际的压测流量计算。
发明内容
基于此,本发明提供了一种Gatling压测脚本本地预编译调试方法及系统,通过将Gatling提供的启动Jar包引入到脚本工程的项目类库中,实现在本地调试与编译脚本文件。压测时,采用本发明提供的技术先在本地编译Gatling压测脚本通过后再发布到压测服务器,以克服现有技术中无法及时发现脚本的潜在错误以及影响实际的压测流量计算的缺陷。
本发明提供的一种Gatling压测脚本本地预编译调试方法,包括以下步骤:
构建Gatling压测脚本工程,将所有的脚本源码文件放在同一个脚本项目中;
将Gatling官方提供的源码Jar包加入到所述Gatling压测脚本工程的项目类库中,作为第三方库的依赖,构成Gatling压测组件;
利用所述Gatling压测组件调用所述源码Jar包中的脚本进行压测。
作为一种可实施方式,通过Gatling压测组件来调用脚本源码文件包中的脚本执行压测,包括以下步骤:
在所述Gatling压测脚本工程中增加一个GatlingStartUp启动类;
调用所述源码Jar包提供的启动Gatling执行的方法Gatling.fromMap(),从而启动Gatling的脚本运行。
作为一种可实施方式,所述Gatling压测脚本本地预编译调试方法,还包括以下步骤:
从所述Gatling压测脚本工程的脚本项目中抽象出其中可复用的公共逻辑部分,构建基础组件模块。
作为一种可实施方式,所述Gatling压测脚本工程的项目包结构包括:压测组件、业务逻辑、数据模型、以及场景;
其中所述业务逻辑为公共组件源码文件包,用于存放所有可复用的代码;
所述场景为脚本源码文件包,用于存放所有的用于场景压测的脚本文件。
作为一种可实施方式,所述Gatling压测脚本本地预编译调试方法,还包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州有赞科技有限公司,未经杭州有赞科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810427819.4/2.html,转载请声明来源钻瓜专利网。