1.下载软件
开发软件IntelliJ IDEA
Apache:apache-tomcat-8.5.65
Ngrinder:ngrinder-controller-3.4.3.war
Groovy: apache-groovy-sdk-2.4.21.zip
2.安装配置软件
1)先安装IDEA软件 ,这个大家都知道,不再赘述
2)配置Apache Tomcat软件:
首先将下载的tomcat:apache-tomcat-8.5.65 解压到一个目录,例如:d:\soft\tomcat8
然后右键我的电脑,点击属性-》点击高级系统设置-》点击高级-》点击环境变量
在打开的页面中,选择系统变量点击新建,名称:CATALINA_HOME 值为:tomcat解压的目录,我这里是d:\soft\tomcat8,然后将:%CATALINA_HOME%\bin; 再加入系统的 path 环境变量中,完成后点击确定
最后安装apache服务:
cmd进入tomcat解压的d:\soft\tomcat8\bin目录,输入service.bat install 即可安装成功,同样service.bat remove可以移除注册服务
3)安装ngrinder
把下载的
ngrinder-controller-3.4.3.war放到tomcat的webapps目录下,我这里是:d:\soft\tomcat8\webapps\
启动Tomcat
进入到tomcat的bin目录,d:\soft\tomcat8\bin\,点击startup.bat 启动tomcat
3.nGrinder 简单使用
3.1 启动tomcat后,访问url地址
http://127.0.0.1:8088/ngrinder-controller-3.4.3/login
使用默认账号密码:admin/admin登录 ,进入后,可以自行查看各个功能。
3.2 下载代理
ngrinder-agent-3.4.3-127.0.0.1.tar
打开nGrinder首页后,默认账号admin密码admin进入,点击右上角的admin===>Download Agent.下载Agent,并解压包,运行run_agent.bat(win下)或者run_agent.sh(linux下)便可。
这时回到nGrinder平台,点击admin===> Agent Management,可以查看到刚新增的代理,以及代理机器上的ip等信息。
nGrinder可以通过简单方式就可以做到集群
3.3 下载监控
ngrinder-monitor-3.4.3.tar
同样点击右上角的admin===>Download Monitor,解压运行run_monitor.bat或者run_monitor.sh文件,便可以,具体检查得等后续跑脚本时才能看出
4.使用idea软件开发groovy压测脚本
4.1创建groovy项目
4.2把以下jar包导入项目即可
4.3 编写脚本
4.4 脚本实例1:如下
package yace;
import static net.grinder.script.Grinder.grinder;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
import net.grinder.plugin.http.HTTPRequest;
import net.grinder.plugin.http.HTTPPluginControl;
import net.grinder.script.GTest;
import net.grinder.script.Grinder;
import net.grinder.scriptengine.groovy.junit.GrinderRunner;
import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess;
import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import HTTPClient.Cookie;
import HTTPClient.CookieModule;
import HTTPClient.HTTPResponse;
import HTTPClient.NVPair;
@RunWith(GrinderRunner)
class TestRunner1 {
public static GTest test;
public static HTTPRequest request;
public static NVPair[] headers = [];
public static NVPair[] params = [];
public static Cookie[] cookies = [];
@BeforeProcess
public static void beforeProcess() {
HTTPPluginControl.getConnectionDefaults().timeout = 6000;
test = new GTest(1, "www.baidu.com");
request = new HTTPRequest();
grinder.logger.info("before process.");
}
@BeforeThread
public void beforeThread() {
test.record(this, "test");
grinder.statistics.delayReports=true;
grinder.logger.info("before thread.");
}
@Before
public void before() {
request.setHeaders(headers);
cookies.each { CookieModule.addCookie(it, HTTPPluginControl.getThreadHTTPClientContext()) };
grinder.logger.info("before thread. init headers and cookies");
}
@Test
public void test(){
HTTPResponse result = request.GET("http://www.baidu.com/", params);
if (result.StatusCode == 301 || result.StatusCode == 302) {
grinder.logger.warn("Warning. The response may not be correct. The response code was {}.", result.StatusCode);
} else {
assertThat(result.StatusCode, is(200));
}
}
}
4.5 编译运行
首次编译运行报错
java.lang.RuntimeException: Please add
-javaagent:F:\project\yace\lib\grinder-dcr-agent-3.9.1.jar
in 'Run As JUnit' vm argument.
需要把-javaagent:F:\project\yace\lib\
grinder-dcr-agent-3.9.1.jar添加到idea运行配置里面的vm options里面
成功运行就可以编写压测脚本了,祝你压测越来越顺利。
想要测试项目的关注私信我。
注意一下:如果版本不对,可能会报错:
java.lang.UnsupportedOperationException
最后大家有啥问题欢迎大家在留言区留言。