nGrinder TestRunnerInsertMysqlSingle.groovy

时间:2023-02-20 21:17:54

s

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

 1 package com.iteye.lindows.mysql
2
3 import junit.framework.Assert
4 import net.grinder.script.GTest
5 import net.grinder.scriptengine.groovy.junit.GrinderRunner
6 import net.grinder.scriptengine.groovy.junit.annotation.AfterThread
7 import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess
8 import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread
9 import org.junit.Test
10 import org.junit.runner.RunWith
11
12 import java.sql.Connection
13 import java.sql.DriverManager
14 import java.sql.ResultSet
15 import java.sql.Statement
16
17 import static net.grinder.script.Grinder.grinder
18 import static org.junit.Assert.assertTrue
19
20 /**
21 * java代码示例,连接数据库进行查询
22 *
23 * @author Lindows
24 */
25 @RunWith(GrinderRunner)
26 class TestRunnerInsertMysqlSingle {
27 public static GTest insertTable
28 public static Connection conn;
29 public static Statement stmt; //创建Statement对象
30
31 @BeforeProcess
32 public static void beforeProcess() {
33 insertTable = new GTest(1, "插入表数据")
34 try {
35 Class.forName("com.mysql.jdbc.Driver");
36 grinder.logger.info("成功加载MySQL驱动!");
37 String url="jdbc:mysql://10.37.136.162:3306/performance_test"; //JDBC的URL
38 String username = "performance_user";
39 String passwd = "performance!QAZ";
40 conn = DriverManager.getConnection(url, username, passwd);
41 stmt = conn.createStatement(); //创建Statement对象
42 grinder.logger.info("成功创建stmt!");
43 } catch (Exception e) {
44 e.printStackTrace()
45 }
46 }
47
48 @BeforeThread
49 public void beforeThread() {
50 insertTable.record(this, "insertTable")
51 grinder.statistics.delayReports=true
52 }
53
54 @Test
55 public void insertTable() {
56 try{
57 grinder.logger.info("成功连接到数据库!");
58 StringBuffer sql = new StringBuffer()
59 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','")
60 .append("China BeiJing")
61 .append(new Random().nextInt(99999999))
62 .append("', 'work in lindows for 3 years','2017-06-12 18:00:00','2017-06-13 15:00:00')")
63 grinder.logger.info(sql.toString())
64 Thread.sleep(new Random().nextInt(10)) //这里可以设置思考时间10ms
65 assertTrue(!stmt.execute(sql.toString()))//执行sql insert,!stmt.execute(sql)该写法只于insert true确认
66 //assertTrue(stmt.execute(sql));//执行sql query , !stmt.execute(sql)该写法只适用于query true确认
67 }catch(Exception e) {
68 e.printStackTrace();
69 }
70 }
71
72 @AfterThread
73 public void afterThread() {
74 stmt.close();
75 conn.close();
76 }
77 }

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

nGrinder TestRunnerInsertMysqlSingle.groovy

Debug As JUnit Test ,,,ok!

end

nGrinder TestRunnerInsertMysqlSingle.groovy的更多相关文章

  1. nGrinder TestRunnerBarrier&period;groovy &sol; jihedian

    s import net.grinder.script.Barrier import net.grinder.script.GTest import net.grinder.scriptengine. ...

  2. nGrinder TestRunnerInsertMysqlMore&period;groovy

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

  3. nGrinder TestGroovy&period;groovy

    s /** * */ package com.iteye.lindows.mysql /** * @author Lindows * */ class TestGroovy { static main ...

  4. script nGrinder&lowbar;TestRunnerInsertMysqlSingle&period;groovy

    s 阿里巴巴Java开发规范手册.zip http://dl.iteye.com/topics/download/ffc4ddcf-8b65-3b3c-b146-96468e2baf40 /** 关于 ...

  5. 基于Groovy搭建Ngrinder脚本调试环境

    介绍 最近公司搭建了一套压力测试平台,引用的是开源的项目 Ngrinder,做了二次开发,在脚本管理方面,去掉官方的SVN,引用的是Git,其他就是做了熔断处理等. 对技术一向充满热情的我,必须先来拥 ...

  6. 基于Groovy编写Ngrinder脚本常用方法

    1.生成随机字符串(import org.apache.commons.lang.RandomStringUtils) 数字:RandomStringUtils.randomNumeric(lengt ...

  7. Ngrinder脚本开发各细节锦集(groovy)

    Ngrinder脚本开发各细节锦集(groovy) 1.生成随机字符串(import org.apache.commons.lang.RandomStringUtils) 数字:RandomStrin ...

  8. nGrinder 简易使用教程

    背景 性能压测工具之前使用的是jmeter,这次说的是nGrinder,先直接搬运两者之间的比较 比较点 JMeter nGrinder 结果 实现语言 Java Java = License Apa ...

  9. nGrinder Loadrunner vs nGrinder

    s d 功能 参数类型 取值方式 迭代方式 Loadrunner实现方式 nGrinder实现方式 参数化 文件  sequential (顺序取值) Each Iteration (每次迭代) 在参 ...

随机推荐

  1. &lbrack;2013-08-01&rsqb;window&period;open

    经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这 ...

  2. PHP与apache环境配置

    最近想了解一些网页后台的东西,在看Luke Welling,laura Thomson的<php与mysql web开发>,书中环境配置的部分很庞杂,网上的各种教程也很乱,搞了一下午终于成 ...

  3. C语言程序设计50例&lpar;二)&lpar;经典收藏&rpar;

    [程序11]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1 ...

  4. ES6生成器基础

    ES6引进的最令人兴奋的特性就是一种新的函数生成方式,称为生成器(generator).名称有点奇怪,但是第一眼看上去行为更加奇怪.文章主要介绍生成器如何工作,然后让你明白为什么他们对于未来的JS会有 ...

  5. Lua 数组排序 table&period;sort的注意事项

    1. table中不能有nil table.sort是排序函数,它要求要排序的目标table的必须是从1到n连续的,即中间不能有nil. 2. 重写的比较函数,两个值相等时不能return true ...

  6. springmvc的dispatchservlet初始化

    初始化做的事情,处理下controller的映射关系 https://blog.csdn.net/qq_38410730/article/details/79426673

  7. spring加载配置新旧方式对比

    老方式 1.首先要配置配置文件,如beans.xml,内容如下: <?xml version="1.0" encoding="UTF-8"?> &l ...

  8. 比较分析C&plus;&plus;、Java、Python、R语言的面向对象特征,这些特征如何实现的?有什么相同点?

    一门课的课后题答案,在这里备份一下: 面向对象程序设计语言 –  比较分析C++.Java.Python.R语言的面向对象特征,这些特征如何实现的?有什么相同点? C++ 语言的面向对象特征: 对象模 ...

  9. NO&period;10&colon; 在operator&equals;中处理 &quot&semi;自我赋值&quot&semi;

    1.确保当对象自我赋值时operator=有良好的行为,其中的技术包括 "来源对象" 和 "目标对象" 的地址,精心周到的语句顺序,以及“ copy and s ...

  10. js setInterval&lpar;&rpar; 用法示例

      Created by Marydon on 1.定义 语法:setInterval(param1,param2) param1 要调用的函数或要执行的代码串. param2 周期性调用param1 ...