四时宝库

程序员的知识宝库

Ngrinder安装配置 idea开发 压测groovy脚本项目教程


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

最后大家有啥问题欢迎大家在留言区留言。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接