java接口如何测试代码 java接口测试平台( 二 )


private SampleResult results;
private String testStr;
//初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,类似于LoadRunner中的init方法
public void setupTest(JavaSamplerContext arg0) {
results = new SampleResult();
testStr = arg0.getParameter("testString", "");
if (testStr != nulltestStr.length()0) {
results.setSamplerData(testStr);
}
}
//设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("testStr", "");//定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值
return params;
}
//测试执行的循环体,根据线程数和循环次数的不同可执行多次,类似于LoadRunner中的Action方法
public SampleResult runTest(JavaSamplerContext arg0) {
int len = 0;
results.sampleStart();//定义一个事务,表示这是事务的起始点,类似于LoadRunner的lr.start_transaction
len = testStr.length();
results.sampleEnd();//定义一个事务,表示这是事务的结束点,类似于LoadRunner的lr.end_transaction
if(len5){
System.out.println(testStr);
results.setSuccessful(false);//用于设置运行结果的成功或失败,如果是"false"则表示结果失败,否则则表示成功
}else
results.setSuccessful(true);
return results;
}
//结束方法 , 实际运行时每个线程仅执行一次 , 在测试方法运行结束后执行 , 类似于LoadRunner中的end方法
public void teardownTest(JavaSamplerContext arg0) {
}
}
6.把上面的例子打包,然后把生成的"TestLength.jar"文件拷贝到Jmeter的安装目录lib/ext下.
7.运行Jmeter,添加一个线程组,然后在该线程组下面添加一个Java请求(在Sampler中),在Java请求的类名称中选择咱们刚创建的类"app.TestLength",在下面参数列表的"testStr"后面输入要测试的字符串,然后添加一个监听器(聚合报告),设置一下模拟的用户数就可以测试了.如果测试不成功,Jmeter会在它自己个输出框中抛出这个字符串.
通过上面的例子我们可以发现,使用Jmeter自定义Java测试代码,配合Jmeter自带的函数,就可以实现出LoadRunner中"Java Vuser"协议的绝大多数功能,而且是没有用户数限制和完全免费的(嘿嘿).上面的例子非常简单,而且没有任何实际意义,只是一个简单的Jmeter测试代码示例,用于抛砖引玉,希望大家一起交流,共同 进步.
java程序的接口中的测试类该怎么写?有什么用呢?其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文 , 服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程 。
用loadrunner实现接口测试
大家都知道loadrunner是一种性能测试工具,但它也可以用在我们做接口测试的时候 。开发人员开发出来的接口,提供给测试人员详细的接口使用说明书,该说明书最基本的要求如下:
接口测试地址:/sns/publish
?xml
version="1.0"
encoding="iso-8859-1"?
publish
123
456
userid
2
commentstypeid
123
456
don't
forget
the
meeting!
这也是一种写法,可以跟web_submit_data互换 。这种写法更利于拼接参数 。
方法一适合一些xml结构的根元素下的子元素同处于根元素下面,且子元素数目较少的情况下,如果xml结构比较复杂,比如说根元素下面有多级子元素,或者xml树结构分叉较多的时候,我们可以先把xml拼接成一个字符串然后通过web_custom_request()向服务器发送请求 。