Jmeter操作MongoDB3.x

正文

1.mongo-java-driver-*.jar包选用

下载MongoDB驱动mongo-java-driver-2.13.2.jar,放置D:\Program Files\apache-jmeter-3.1\lib,删除原来的mongo-java-driver-2.11.3.jar;
注意:由于MongoDB3.x使用的是SHA1加密方式,jmeter自带的2.11.3版本只支持CR;

2.Jmeter新建JSR223 Sample

线程组新建JSR223 Sample,Language选择groovy,删除MongoDB数据脚本如下

import com.mongodb.*;
import java.util.List;
import java.util.ArrayList;

            ServerAddress serverAddress = new ServerAddress("${IP}",port);
            List addrs = new ArrayList();
            addrs.add(serverAddress);

            MongoCredential credential = MongoCredential.createScramSha1Credential("${username}", "${db_name}", "${passwd}".toCharArray());
            List credentials = new ArrayList();
            credentials.add(credential);

            MongoClient mongoClient = new MongoClient(addrs,credentials);

            DB db = mongoClient.getDB("${db_name}");
            DBCollection dbCollection = db.getCollection("${Collection}");

            BasicDBObject delete = new BasicDBObject("userId",'${userId}');
            dbCollection.remove(delete);
image.png

3.执行结果

image.png

番外

1.调试脚本

若直接在Jmeter操作不便,可以先在idea先调试脚本,配置pom.xml如下

        
            org.mongodb
            mongo-java-driver
            2.13.2
        

2.脚本内容

import com.mongodb.*;
import java.util.List;
import java.util.ArrayList;
public class mongo {
    public static void main(String[] args){
        try {
            ServerAddress serverAddress = new ServerAddress("IP",3717);
            List addrs = new ArrayList();
            addrs.add(serverAddress);
            MongoCredential credential = MongoCredential.createScramSha1Credential("username", "db_name", "passwd".toCharArray());
            List credentials = new ArrayList();
            credentials.add(credential);
            MongoClient mongoClient = new MongoClient(addrs,credentials);
            DB db = mongoClient.getDB("db_name");
            System.out.println("数据库连接成功");
            DBCollection dbCollection = db.getCollection("Collection_name");
            System.out.println("集合连接成功");
            BasicDBObject delete = new BasicDBObject("userId","${userId}");
            WriteResult result = dbCollection.remove(delete);
            System.out.println(result.toString());
        } catch (Exception e) {
            System.err.println(e.getClass().getName() + ": " + e.getMessage());
        }
    }
}

3.调试结果

image.png

你可能感兴趣的:(Jmeter操作MongoDB3.x)