script nGrinder_TestRunnerInsertMysqlSingle.groovy
s
阿里巴巴Java开发规范手册.zip
http://dl.iteye.com/topics/download/ffc4ddcf-8b65-3b3c-b146-96468e2baf40
/**
关于日志打印
System.out.println(result); 这个应该只是在当前验证页面打印;
grinder.logger.info(result);这个可以打印到日志中
*/
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 passat 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
script nGrinder_TestRunnerInsertMysqlSingle.groovy的更多相关文章
- SoapUI Pro Project Solution Collection –Easy develop Groovy Script to improve SoapUI ability
As you know the groovy script and java script language is the soapui supported .but unfortunately So ...
- atitit groovy 总结java 提升效率
atitit groovy 总结java 提升效率 #---环境配置 1 #------安装麻烦的 2 三.创建groovy项目 2 3. 添加 Groovy 类 2 4. 编译运行groovy类 ...
- groovyConsole — the Groovy Swing console
1. Groovy : Groovy Console The Groovy Swing Console allows a user to enter and run Groovy scripts. T ...
- Groovy的脚本统一于类的世界
http://groovy-lang.org/structure.html 3.2. Script class A script is always compiled into a class. Th ...
- Java集成groovy之GroovyShell、GroovyScriptEngine、GroovyClassLoader
GroovyClassLoader 用 Groovy 的 GroovyClassLoader ,动态地加载一个脚本并执行它的行为.GroovyClassLoader是一个定制的类装载器,负责解释加载J ...
- 24.基于groovy脚本进行partial update
主要知识点 在es中其实是有内置的脚本支持的,可以基于groovy脚本实现各种各样的复杂操作 基于groovy脚本,如何执行partial update es scripting module,我们会 ...
- Elasticsearch由浅入深(五)_version乐观锁、external version乐观锁、partial update、groovy脚本实现partial update
基于_version进行乐观锁并发控制 先构造一条数据出来 PUT /test_index/test_type/ { "test_field": "test test&q ...
- 4: ES内执行Groovy脚本,做文档部分更新、执行判断改变操作类型
ES有内置的Groovy脚本执行内核,可以在命令的Json内嵌入Groovy脚本语句 前提数据:
- ElasticSearch 自定义排序处理
使用function_score进行分组处理,利用分组函数script_score进行自定义分值处理, 注意:使用script功能需要在配置中打开脚本功能: script.inline: on s ...
随机推荐
- mysql语句-DML语句
DML语句 DML是指对数据库中表记录的操作,主要包括数据的增删改查以及更新,下面依次介绍 首先创建一张表:: 表名:emp 字段:ename varchar(20),hiredate date ,s ...
- Spring 使用介绍(六)—— AOP(二)
一.切入点语法 1)通配符 AOP支持的通配符: *:匹配任何数量字符 ..:匹配任何数量字符的重复,在类型模式中匹配任何数量子包,在方法参数模式中匹配任何数量参数 +:匹配指定类型的子类型,仅能作为 ...
- JavaEE进阶集锦(持续更新中)
1.影响Servlet生命周期的注解:@PostConstruct和@PreDestroy @PostConstruct:被修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次, ...
- RPM包定制
概述 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案.解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 mysql 打包后直接 ...
- AWS免费EC2
终于弄到这个EC2了.回想下过程大概如下 1.注册账号 https://amazonaws-china.com/cn/free/ 可以这地址点击"创建免费账户" 2.注册填写信息, ...
- cf1000F One Occurrence (线段树)
这题我是离线做的 设i位置的数上次出现的位置是pre[i](如果第一次出现那就是0) 可以想到,用线段树维护一个区间的pre的最小值,如果它小于区间左端点,那这个数就是一个合法的答案 但直接这样做是错 ...
- PyCharm创建自定义代码段(JetBrains系列通用)
创建自定义代码段或者修改代码段:(用习惯了VSCode的main格式,固而改下)
- angular与vue的应用对比
因为各种笔试面试,最近都没时间做一些值得分享的东西,正好复习一下vue技术栈,与angular做一下对比. angular1就跟vue比略low了. 1.数据绑定 ng1 ng-bind,{{ sco ...
- WebAPI接口安全校验
通过网上查看相关WebAPI接口验证的方法,整理了一下,直接上代码,功能不复杂,有问题留言, //--------------------------------------------------- ...
- MVC之 自定义过滤器(ActionFilterAttribute)
一.自定义Filter 自定义Filter需要继承ActionFilterAttribute抽象类,重写其中需要的方法,来看下ActionFilterAttribute类的方法签名. //表示所有操作 ...