正文
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<ServerAddress> addrs = new ArrayList<ServerAddress>();
addrs.add(serverAddress);
MongoCredential credential = MongoCredential.createScramSha1Credential("${username}", "${db_name}", "${passwd}".toCharArray());
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
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如下
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.13.2</version>
</dependency>
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<ServerAddress> addrs = new ArrayList<ServerAddress>();
addrs.add(serverAddress);
MongoCredential credential = MongoCredential.createScramSha1Credential("username", "db_name", "passwd".toCharArray());
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
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