BlazeDS接口性能测试

BlazeDS提供的接口不同于普通Jsp页面,可以直接通过JMeter来进行测试,

由于BlazeDS是一个二进制框架,所以不能直接把Http请求过来进行测试。

我的理解是需要模拟生成BlazeDS需要的二进制请求,来对接口进行测试。

JMeter里面没有直接的实现,好像似乎有一个方法能够模拟出JMeter消息,但是实验没有成功。

于是求助于网络,找到了可以生成二进制消息的方法。

那就是使用BlazeDS的包,使用AMFConnection可以连接BlazeDS接口。

新建一个Java工程,代码如下

import java.util.ArrayList;

import flex.messaging.io.amf.client.AMFConnection;
import flex.messaging.io.amf.client.exceptions.ClientStatusException;
import flex.messaging.io.amf.client.exceptions.ServerStatusException;


public class Test {
public static void main(String[] args) throws Exception {

// Create the AMF connection.
AMFConnection amfConnection = new AMFConnection();

// Connect to the remote url.
String url = "http://localhost:8080/TestApp/messagebroker/amf";
try
{
amfConnection.connect(url);
}
catch (ClientStatusException cse)
{
System.out.println(cse);
return;
}

Object result;
ArrayList<Category> list;
// Make a remoting call and retrieve the result.
try
{
result = amfConnection.call("commonServiceDest.getList");
System.out.print(result);
list = (ArrayList<Category>)result;
System.out.print(list);
}
catch (ClientStatusException cse)
{
System.out.println(cse);
}
catch (ServerStatusException sse)
{
System.out.println(sse);
}

// Close the connection.
amfConnection.close();
System.out.println("Sucess");
}

}

如果你的BlazeDS接口正常的话,可以得到结果。

下面就是使用JMeter进行性能测试了。

JMeter有加载Java程序进行测试的功能,网上有很多。

这样就可以进行性能测试了。

posted @ 2012-02-23 15:35  nirvana7  阅读(947)  评论(0编辑  收藏  举报