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

  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 passat 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

  1. asm-3.3.1.jar
  2. commons-lang-2.6.jar
  3. commons-lang3-3.3.2.jar
  4. commons-logging-1.0.4.jar
  5. grinder-core-3.9.1.jar
  6. grinder-dcr-agent-3.9.1.jar
  7. grinder-http-3.9.1.jar
  8. grinder-http-patch-3.9.1-patch.jar
  9. grinder-httpclient-3.9.1.jar
  10. grinder-httpclient-patch-3.9.1-patch.jar
  11. grinder-patch-3.9.1-patch.jar
  12. hamcrest-all-1.1.jar
  13. json-20090211.jar
  14. junit-dep-4.11.jar
  15. log4j-1.2.15.jar
  16. logback-classic-1.0.0.jar
  17. logback-core-1.0.0.jar
  18. mysql-connector-java-5.1.36 (1).jar
  19. ngrinder-core-3.4.jar
  20. ngrinder-groovy-3.4.jar
  21. ngrinder-runtime-3.4.jar
  22. ngrinder-sh-3.4.jar
  23. 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的更多相关文章

  1. 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 ...

  2. atitit groovy 总结java 提升效率

    atitit groovy 总结java 提升效率 #---环境配置 1 #------安装麻烦的 2 三.创建groovy项目 2 3.  添加 Groovy 类 2 4.  编译运行groovy类 ...

  3. groovyConsole — the Groovy Swing console

    1. Groovy : Groovy Console The Groovy Swing Console allows a user to enter and run Groovy scripts. T ...

  4. Groovy的脚本统一于类的世界

    http://groovy-lang.org/structure.html 3.2. Script class A script is always compiled into a class. Th ...

  5. Java集成groovy之GroovyShell、GroovyScriptEngine、GroovyClassLoader

    GroovyClassLoader 用 Groovy 的 GroovyClassLoader ,动态地加载一个脚本并执行它的行为.GroovyClassLoader是一个定制的类装载器,负责解释加载J ...

  6. 24.基于groovy脚本进行partial update

    主要知识点 在es中其实是有内置的脚本支持的,可以基于groovy脚本实现各种各样的复杂操作 基于groovy脚本,如何执行partial update es scripting module,我们会 ...

  7. Elasticsearch由浅入深(五)_version乐观锁、external version乐观锁、partial update、groovy脚本实现partial update

    基于_version进行乐观锁并发控制 先构造一条数据出来 PUT /test_index/test_type/ { "test_field": "test test&q ...

  8. 4: ES内执行Groovy脚本,做文档部分更新、执行判断改变操作类型

    ES有内置的Groovy脚本执行内核,可以在命令的Json内嵌入Groovy脚本语句   前提数据:           

  9. ElasticSearch 自定义排序处理

    使用function_score进行分组处理,利用分组函数script_score进行自定义分值处理, 注意:使用script功能需要在配置中打开脚本功能: script.inline: on   s ...

随机推荐

  1. mysql语句-DML语句

    DML语句 DML是指对数据库中表记录的操作,主要包括数据的增删改查以及更新,下面依次介绍 首先创建一张表:: 表名:emp 字段:ename varchar(20),hiredate date ,s ...

  2. Spring 使用介绍(六)—— AOP(二)

    一.切入点语法 1)通配符 AOP支持的通配符: *:匹配任何数量字符 ..:匹配任何数量字符的重复,在类型模式中匹配任何数量子包,在方法参数模式中匹配任何数量参数 +:匹配指定类型的子类型,仅能作为 ...

  3. JavaEE进阶集锦(持续更新中)

    1.影响Servlet生命周期的注解:@PostConstruct和@PreDestroy @PostConstruct:被修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次, ...

  4. RPM包定制

    概述 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案.解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 mysql 打包后直接 ...

  5. AWS免费EC2

    终于弄到这个EC2了.回想下过程大概如下 1.注册账号 https://amazonaws-china.com/cn/free/ 可以这地址点击"创建免费账户" 2.注册填写信息, ...

  6. cf1000F One Occurrence (线段树)

    这题我是离线做的 设i位置的数上次出现的位置是pre[i](如果第一次出现那就是0) 可以想到,用线段树维护一个区间的pre的最小值,如果它小于区间左端点,那这个数就是一个合法的答案 但直接这样做是错 ...

  7. PyCharm创建自定义代码段(JetBrains系列通用)

    创建自定义代码段或者修改代码段:(用习惯了VSCode的main格式,固而改下)

  8. angular与vue的应用对比

    因为各种笔试面试,最近都没时间做一些值得分享的东西,正好复习一下vue技术栈,与angular做一下对比. angular1就跟vue比略low了. 1.数据绑定 ng1 ng-bind,{{ sco ...

  9. WebAPI接口安全校验

    通过网上查看相关WebAPI接口验证的方法,整理了一下,直接上代码,功能不复杂,有问题留言, //--------------------------------------------------- ...

  10. MVC之 自定义过滤器(ActionFilterAttribute)

    一.自定义Filter 自定义Filter需要继承ActionFilterAttribute抽象类,重写其中需要的方法,来看下ActionFilterAttribute类的方法签名. //表示所有操作 ...