前言
目前,在整个互联网上很少找到关于使用JMeter测试mongodb的文章,因此通过学习并参考一些文章后,再经过实践,将分享给大家在JMeter的Java Request中如何测试mongodb,当然希望大家可以举一反三的思维,测试不同的数据库(Mysql,Oracle和Sql Server),而不仅仅限制于测试mongodb。希望对测试人员有所帮助,如果文章
中有描述错误,请大家指出,谢谢。
学习参考文档地址:http://blog.csdn.net/xreztento/article/details/52473418简介
在Jmeter提供了一种纯java的编码方式来构建Sampler的组件,但构建java sampler的前提条件必须要有java的编程基础。通过继承AbstractJavaSamplerClient抽象类后重写setupTest,runTest和teardownTest的方法可以构建成为JAVA Sampler的组件。案例设计以及实现创建思路
1.编写一个访问mongodb的类,并提供一个查询数据的方法。访问mongodb的类称为MongodbClient,查询方法称为query,该方法的返回数据类型为MongoCursor。
2.编写一个TestMongodbSamplerClient通过继承AbstractJavaSamplerClient抽象类后重写setupTest,runTest和teardownTest的方法,在runTest方法中实现调用query的查询方法,并将返回的设置在result.setResponseData()方法中,以便可以在查看结果树(View Result Tree)中看到响应的数据。
开发环境
1.编写MongodbClient类的代码必须将mongo-java-driver-3.3.0.jar文件导入到项目工程中。可到mongodb的官方进行下载,下载地址:http://mongodb.github.io/mongo-java-driver/,该jar文件除了在项目工程中引用外,也需要拷贝一份在JMeter的lib中。2.编写TestMongodbSamplerClient类需要在项目工程下导入以下jar文件,而这些文件可在JMeter的lib目录中找到:
ApacheJMeter_componets.jar
ApacheJMeter_core.jar
ApacheJMeter_java.jar
Jorphan.jar
Logkit-2.0.jar
3.将这些jar文件放入到lib目录下,并进行引用。
编写MongodbClient类
MongodbClient根据数据库的URL地址和数据端口号连接后,通过指定数据库名称获得操作数据库的对象,通过设定集合名称返回操作集合的对象,对集合进行查询操作。MongodbClient代码如下:
package com.mongodb.client;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
public class MongodbCli