51Testing软件测试论坛

标题: 如何获取java请求的响应数据 [打印本页]

作者: wkevin    时间: 2015-10-8 16:28
标题: 如何获取java请求的响应数据
请大侠帮忙,关于java请求,想获取响应数据,但是用正则表达式获取时,无法取到;求帮助~
具体使用:java请求可以输入一个参数是天数,1表示返回明天的日期,2表示返回后天的日期,但是结果一直取值有问题
作者: gaha    时间: 2015-10-8 16:59
首先肯定是要使用 java request,他的返回是在java class里,理论上说你可以从jmeter的后台打印日志上看到响应的内容,比如你需要的返回1 或 2,但这个返回值能不能继续被使用,要看你的class里是不是有其他功能的实现。

简单说如果你只要获得返回1 或 2 ,那一个class就可以了。

首先在eclipse等IDE中建立一个java工程,

通过导入外部库的办法,把jmeter目录里,Lib中ext目录中的core和java两个jar包导进工程。
接着在src下根据使用情况创建包和类,以上图为例,PerformanceTest.java里包含要测试性能的内容。

首先在java中引入框架需要的包:
import org.apache.jmeter.config.Arguments;  
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;  
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;  
import org.apache.jmeter.samplers.SampleResult;
其次要使当前的class继承AbstractJavaSamplerClient 这个方法
后面的代码分为四个部分:
1 getDefaultParameters:用来接收图形界面传来的参数;
2 setupTest:runTest运行前执行,可存放一下准备代码;
3 teardownTest:runTest运行后执行;
4 runTest:测试的关键,这里面存放的是要检查性能的方法:

这里需要注意的是参数的传递,截图中整型变量a 和 b来自图形工具,使用arg.getParameter的方法可以取到值。对于你的class,应该只有一个参数,表示输入的天数。
论坛回帖不方便贴图,我就不完整写了,如果你看懂怎么引包,怎么调用,应该就差不多了,关键是被测的class,需要有调整。

详细的文档在:
http://wenku.baidu.com/view/02c9d0654431b90d6d85c74d

里面有一个部分讲 使用java request测试 java class的性能的方法。

不清楚可以一起讨论。
作者: wkevin    时间: 2015-10-8 17:26
gaha 发表于 2015-10-8 16:59
首先肯定是要使用 java request,他的返回是在java class里,理论上说你可以从jmeter的后台打印日志上看到 ...

谢谢回复,问题已经解决。
我把java对象转成Json,再用正式表达式获取就成功了;但很感谢你的回复;




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2