首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

JavaSampler编纂

2012-09-25 
JavaSampler编写Jmeter进行性能测试的过程中,经常需要进行某些不同操作的,比如我经常用到的就是动态参数,

JavaSampler编写

Jmeter进行性能测试的过程中,经常需要进行某些不同操作的,比如我经常用到的就是动态参数,此时可以通过新建一个java sampler。在sampler中进行处理。最终返回处理后的结果。

?

mvn archetype:create -DgroupId=com.alibaba.b2b.qa-DartifactId=jmeterSamplerExam

?


?

4、新建一个class集成自AbstractJavaSamplerClient(在添加完上面的两个jmeter包后)。命名为JmeterSamplerExam。


int count;// 初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,类似于LoadRunner中的init方法public void setupTest(JavaSamplerContext arg0) {count = 0;}// 设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中public Arguments getDefaultParameters() {Arguments arguments = new Arguments();arguments.addArgument("id", "10");arguments.addArgument("String", "initString");return arguments;}// 测试执行的循环体,根据线程数和循环次数的不同可执行多次,类似于LoadRunner中的Action方法 public SampleResult runTest(JavaSamplerContext context) { SampleResult results = new SampleResult(); results.sampleStart();// 计时开始 for (int i = 0; i < 10000000; i++) count++; results.sampleEnd();// 计时结束 results.setDataEncoding("UTF-8"); results.setResponseCode(count + "");// 结果返回 // results.setResponseCode(context.getParameter("id")); // 获取参数 results.setResponseMessage("responseMessage");// 结果返回2 results.setSuccessful(true); // 可用于返回是否处理成功 return results; }// 结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行,类似于LoadRunner中的end方法public void teardownTest(JavaSamplerContext arg0) {}

?参考自:


?在打开的select a wizard窗口中选择Java->Junit->Junit Test Case。


?在Test Methods窗口中选择待测试函数。最终生成测试代码。在生成的空函数中加入以下代码,进行调试。
JavaSampler编纂
?参考自:http://blog.csdn.net/shesunshine/archive/2010/08/20/5826798.aspx

<dependency><groupId>com.alibaba.external</groupId><artifactId>apache.jmeter</artifactId><version>2.3</version> </dependency>

?

7、调试成功后,注释掉测试代码,右击项目名Easy Shell –> Open。打开cmd窗口。

添加一个线程组后添加一个java请求,如下图:

JavaSampler编纂
?箭头指向就是我们刚才自己写的类

红圈为程序中添加的参数名。

?

?正则的更多内容见:

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId><version>2.3.2</version><configuration><verbose>true</verbose><fork>true</fork><executable><!-- path-to-javac --></executable><compilerVersion>1.3</compilerVersion></configuration></plugin></plugins></build>

?

?

?

 

热点排行