JMeter测试Java类

JMeter这个东西就不多介绍了

需要导入ApacheJMeter_core.jarApacheJMeter_java.jar,都在JMeter的lib\ext中可以找到

以下是针对ActiveMQ的一个发送测试

public class MQTest extends AbstractJavaSamplerClient {

	private Session session;
	private MessageProducer producer;
	private Topic topic;
	private Connection connection;
	private String str = "[{'flag':'1','value':'8854c92e92404b188e63c4031db0eac9','label':'交换机(虚机)'},{'flag':'1','value':'3f367296c2174b7981342dc6fcb39d64','label':'防火墙'},{'flag':'1','value':'8a3e05eeedf54f8cbed37c6fb38c6385','label':'负载均衡'},{'flag':'1','value':'4f0ebc601dfc40ed854e08953f0cdce8','label':'其他设备'},{'flag':'1','value':'6','label':'路由器'},{'flag':'1','value':'4','label':'交换机'},{'flag':'1','value':'b216ca1af7ec49e6965bac19aadf66da','label':'服务器'},{'flag':'1','value':'7','label':'安全设备'},{'flag':'1','value':'cd8b768a300a4ce4811f5deff91ef700','label':'DWDM\\SDH'},{'flag':'1','value':'5','label':'防火墙(模块)'},{'flag':'1','value':'01748963956649e589a11c644d6c09b5','label':'机箱'}]";

	@Override
	public SampleResult runTest(JavaSamplerContext arg0) {
		System.out.println("runTest>>");
		SampleResult sr = new SampleResult();
		try {
			sr.sampleStart();
			TextMessage message = session.createTextMessage();
			message.setText(str);
			producer.send(message);
			System.out.println("runTest===============");
			sr.sampleEnd();
			sr.setSuccessful(true);
			sr.setSampleLabel("ActiveMQ");
		} catch (Throwable e) {
			sr.setSamplerData("Failure:"+e.getMessage());
			e.printStackTrace();
			sr.setSuccessful(false);
			System.out.println(e.getMessage());
		}
		return sr;
	}

	@Override
	public void setupTest(JavaSamplerContext context) {
		System.out.println("setupTest>>");
		try {
			ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
			connection = factory.createConnection();
			connection.start();
			session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
			topic = session.createTopic("java.activemq.tps");
			producer = session.createProducer(topic);
			producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
		} catch (Exception e) {
			System.out.println("setupTest :" +" \t" +e.getMessage());
			e.printStackTrace();
		}
	}

	@Override
	public void teardownTest(JavaSamplerContext context) {
		System.out.println("teardownTest>>");
		try {
			connection.close();
		} catch (JMSException e) {
			System.out.println("teardownTest :" +" \t" +e.getMessage());
			e.printStackTrace();
		}
	}

}

将代码导出到Jar,注意需要将依赖的Jar一起放到JMeter\lib\ext\下边,然后启动JMeter,剩下的就简单啦;

ActiveMQ控制台:

 JMeter结果:

 

猜你喜欢

转载自sants.iteye.com/blog/2036897
今日推荐