一、 写在前面
ngrinder脚本页面,可以支持简单的post或get请求,填入url、参数等信息即可完成脚本创建,但是后续脚本的增强(如参数化等)需要自己手写代码完成,其他请求脚本(如java 请求)也需要自己手写代码,由于在ngrinder脚本页面,没有语法校验,也无法自动下载依赖jar包,十分不方便。幸好ngrinder在脚本页面,提供了可新建groovy maven project,并且内置svn,我们可以新建groovy maven工程然后导入到本地IntelliJ,进行代码编写,以下将详细介绍
二、前置条件
1、IntelliJ配置maven
2、IntelliJ配置groovy
三、页面建立grooy maven project
四、导入 Groovy Maven 工程到 IntelliJ
1、在已经代开打开项目的idea中,选择“VCS”——“Checkout from Version Control”—— Subversion
点击“+”号
输入上述脚本svn地址
点击ok,点击import按钮
需要在本地新建一个项目文件夹,例如我在本地新建一个groovy_demo的文件夹
输入项目在本地存放的位置(需要自己新建项目目录),点击ok
打开脚本后,发现有的jar包么有下载下来
打开pom文件
发现这行并没有起到作用,需要修改maven本身的配置文件setting.xml
修改成如下配置
五、运行脚本时遇到的问题
报这个错误,无可运行的类
解决办法:按ctrl+shift+alt+s,找到modules,选择modules,删除main即可
再次运行,又有这个报错提示:
解决办法:
选择Test1
再次运行,又会报这个错误提示:
解决办法:按照提示,加入配置即可
运行时,如果有报错
网上查询说是,有个方法是抽象方法,没有啥实现,然后检查了一下,发现是jar包冲突
默认引用groovy的lib下面自带的junit-4.12jar的类,实际上应该用ngrinder脚本自带依赖的jar包
导入的时候,优先使用groovy的jar包的类,导致报那个错误,删除groovy自带junit那个jar包
问题解决
到此,从svn把groovy-maven工程导入到本地idea,全部ok了!
在本地编写代码之后,直接提交svn,代码和依赖jar包会自动更新到ngrinder,然后在压测的时候,ngrinder会自动分发到负载机
而对于jmeter,在编写java请求时需要把项目jar包和依赖jar包手动上传到各负载机,如果修改代码后,还要重新上传jar包,比较麻烦,ngrinder在这点来讲,优势就比较突出