`

script Ngrinder_TestRunnerInsertMysqlSingle.groovy

 
阅读更多

s

阿里巴巴Java开发规范手册.zip

http://dl.iteye.com/topics/download/ffc4ddcf-8b65-3b3c-b146-96468e2baf40

 

nGrinder 平台调试groovy压测脚本,成功!

 

C:\Users\Lindows\workspace\GroovyTest\src\com\iteye\lindows\mysql\TestRunnerInsertMysqlSingle.groovy

package com.iteye.lindows.mysql

import junit.framework.Assert
import net.grinder.script.GTest
import net.grinder.scriptengine.groovy.junit.GrinderRunner
import net.grinder.scriptengine.groovy.junit.annotation.AfterThread
import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess
import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread
import org.junit.Test
import org.junit.runner.RunWith

import java.sql.Connection
import java.sql.DriverManager
import java.sql.ResultSet
import java.sql.Statement

import static net.grinder.script.Grinder.grinder
import static org.junit.Assert.assertTrue

/**
 * java代码示例,连接数据库进行查询
 *
 * @author Lindows
 */
@RunWith(GrinderRunner)
class TestRunnerInsertMysqlSingle {
    public static GTest insertTable
    public static Connection conn;
    public static Statement stmt; //创建Statement对象

    @BeforeProcess
    public static void beforeProcess() {
        insertTable = new GTest(1, "插入表数据")
        try {
            Class.forName("com.mysql.jdbc.Driver");
            grinder.logger.info("成功加载MySQL驱动!");
            String url="jdbc:mysql://10.37.136.162:3306/performance_test";    //JDBC的URL
            String username = "performance_user";
            String passwd = "performance!QAZ";
            conn = DriverManager.getConnection(url, username, passwd);
            stmt = conn.createStatement(); //创建Statement对象
            grinder.logger.info("成功创建stmt!");
        } catch (Exception e) {
            e.printStackTrace()
        }
    }

    @BeforeThread
    public void beforeThread() {
        insertTable.record(this, "insertTable")
        grinder.statistics.delayReports=true
    }

    @Test
    public void insertTable() {
        try{
            grinder.logger.info("成功连接到数据库!");
            StringBuffer sql = new StringBuffer()
            sql.append("insert into tab_002(column_int,column_double,column_decimal,column_varchar_name,column_varchar_address,column_text,column_timestamp_create_time,column_timestamp_update_time) values (1000,300.25,600.98,'jack','")
                    .append("China BeiJing")
                    .append(new Random().nextInt(99999999))
                    .append("', 'work in SuNing for 3 years','2017-06-12 18:00:00','2017-06-13 15:00:00')")
            grinder.logger.info(sql.toString())
            Thread.sleep(new Random().nextInt(10)) //这里可以设置思考时间10ms
            assertTrue(!stmt.execute(sql.toString()))//执行sql insert,!stmt.execute(sql)该写法只于insert true确认
            //assertTrue(stmt.execute(sql));//执行sql query , !stmt.execute(sql)该写法只适用于query true确认
        }catch(Exception e) {
            e.printStackTrace();
        }
    }

    @AfterThread
    public void afterThread() {
        stmt.close();
        conn.close();
    }
}

 C:\Users\Lindows\Desktop\lab\groovy\libs 

asm-3.3.1.jar
commons-lang-2.6.jar
commons-lang3-3.3.2.jar
commons-logging-1.0.4.jar
grinder-core-3.9.1.jar
grinder-dcr-agent-3.9.1.jar
grinder-http-3.9.1.jar
grinder-http-patch-3.9.1-patch.jar
grinder-httpclient-3.9.1.jar
grinder-httpclient-patch-3.9.1-patch.jar
grinder-patch-3.9.1-patch.jar
hamcrest-all-1.1.jar
json-20090211.jar
junit-dep-4.11.jar
log4j-1.2.15.jar
logback-classic-1.0.0.jar
logback-core-1.0.0.jar
mysql-connector-java-5.1.36 (1).jar
ngrinder-core-3.4.jar
ngrinder-groovy-3.4.jar
ngrinder-runtime-3.4.jar
ngrinder-sh-3.4.jar
slf4j-api-1.6.4.jar

 junit  test运行异常:

java.lang.RuntimeException: Please add 
-javaagent:C:\Users\Lindows\Desktop\lab\groovy\libs\grinder-dcr-agent-3.9.1.jar
in 'Run As JUnit' vm argument.
at net.grinder.engine.process.JUnitThreadContextInitializer.initialize(JUnitThreadContextInitializer.java:72)
at net.grinder.scriptengine.groovy.junit.GrinderRunner.initializeGrinderContext(GrinderRunner.java:142)
at net.grinder.scriptengine.groovy.junit.GrinderRunner.<init>(GrinderRunner.java:112)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

 

解决一: -javaagent:C:\Users\Lindows\Desktop\lab\groovy\libs\grinder-dcr-agent-3.9.1.jar

 

Debug As JUnit Test ,,,ok!

 

end

  • 大小: 55.7 KB
分享到:
评论

相关推荐

    ngrinder-controller缺失的jar包

    《ngrinder控制器中缺失的JAR包解析与解决策略》 在软件开发和运维过程中,我们经常遇到依赖库的问题,特别是在使用开源项目时。本文将深入探讨“ngrinder-controller缺失的jar包”这一问题,旨在帮助用户理解这个...

    CUBRID-10.1.0.7663-1ca0ab8-Linux.x86_64.sh

    ngrinder的linux64位监控工具,用于监控目标服务器的性能表现

    ngrinder-controller

    性能测试工具支持3000并发,可以设置监控器,并且可以查看报告

    ngrinder3.4

    "nGrinder_script_structure.pptx"可能是关于nGrinder脚本结构的演示文稿,详细阐述了如何组织测试脚本,包括定义操作步骤、设置循环、条件判断等,这对于编写高效、准确的性能测试脚本至关重要。 "nGrinder3.3安装...

    ngrinder_scripts

    nGrinder 3.4已发布。参见 nGrinder nGrinder是用于压力测试的平台,使您可以同时执行脚本创建,测试执行,监视和结果报告生成器。开源nGrinder消除了不便并提供了集成的环境,为进行压力测试提供了简便的方法。 ...

    ngrinder-recorder-1.0.zip

    《ngrinder录制工具详解》 ngrinder是一款开源的性能测试工具,主要应用于Web应用的负载和压力测试。其中,ngrinder-recorder是ngrinder的重要组件,它作为一个录制工具,能够帮助用户轻松地创建性能测试脚本。在...

    ngrinder-controller-3.4.4.war

    ngrinder-controller-3.4.4.war这个版本更改地方:1、使默认的groovy Maven项目pom.xml正常工作。2、删除SSLv2Hello协议。

    ngrinder-controller-3.5.0.war

    ngrinder-controller-3.5.0性能测试平台 ngrinder-controller-3.5.0性能测试平台

    ngrinder-controller-3.5.2.war

    ngrinder-controller-3.5.2.war

    性能测试工具nGrinder3.3

    - **脚本录制与编辑**:nGrinder支持基于Java的Groovy语言来编写测试脚本,用户可以通过录制浏览器操作来快速生成脚本,也可以直接编辑脚本来实现更复杂的逻辑。 - **分布式测试**:nGrinder可以利用多台机器进行...

    ngrinder3.5.8资源集合

    《ngrinder 3.5.8:一款全能的开源压力测试与监控工具》 ngrinder 3.5.8是一款高效且功能丰富的开源性能测试工具,尤其适合进行Web应用的压力测试。它以其简洁的界面和强大的监控功能,为开发者和运维人员提供了...

    nGrinder-跟我玩系列.pptx

    介绍 ngrinder 及基础使用,最后一页有博客链接,可以评论交流

    docker-ngrinder:Dockerfile - NHN nGrinder

    - nGrinder 的 Dockerfile 通用架构 ![nGrinder - 通用架构][1] 每个容器的主机名。 代理:ngrinder-agent 目标:ngrinder-目标 控制器:磨床控制器 0. github仓库的克隆 # git clone ...

    ngrinder性能测试培训ppt

    - 支持在线编辑测试脚本,并提供了SVN管理功能以及对Python和Groovy脚本的支持。 - **高可用性**:具备强大的并发处理能力,能够同时运行多个测试任务,确保了系统的稳定性和可靠性。 - **可扩展性**:采用了模块化...

    ngrinder3.4.2-controller

    3.4.2版本的ngrinder-controller; 解决了双引号的脚本调试问题。脚本调试、SVN上传、脚本保存多个地方的该问题都已解决。

    ngrinder-agent-3.4.2

    web 性能测试工具,此为性能工具的前端,还有一个为控制端,

    Java版水果管理系统源码-ngrinder-sampling:压测平台的controller,底层调用ngrinder

    Java版水果管理系统源码 项目概览: ...http://192.168.0.167/changli/ngrinder.git 2. 导入idea后,在父类的pom.xml文件中添加repository(因为有几个包有问题,没有发布在中央仓库) ``` &lt;reposi

    ngrinder-monitor

    性能工具的监控器主要查看CPU,内存,线程数等相关信息

    ngrinder:基于ngrinder基础进行二次开发,用于场景压测,实现了类似阿里云PTS的功能。

    本项目作为基础项目被调用,与ngrinder-sampling共同组成完成的压测项目。项目的说明,安装使用文档等,请移步到ngrinder-sampling 查看。 nGrinder 3.4已发布。 参见nGrinder nGrinder是用于压力测试的平台,使您...

Global site tag (gtag.js) - Google Analytics