Получение javax.script.ScriptException: com.mongodb.MongoException: не разрешено для запроса по умолчанию.paymentHeader - PullRequest
0 голосов
/ 26 марта 2019

Я использую Groovy для запроса на MongoDB, и я не авторизован для запросов в MongoDB.Не могли бы вы проверить, есть ли проблема в моем скрипте?

DBName default Collection CollectionHheader

import com.mongodb.*;
import com.mongodb.DB;
import com.mongodb.MongoCredential;
import org.apache.jmeter.protocol.mongodb.config.MongoDBHolder;
import com.mongodb.BasicDBObject; 
import com.mongodb.DBCollection;

//Get DB
DB db = MongoDBHolder.getDBFromSource("SITDB","${DBName}","${username}","${password}");
boolean auth = db.authenticate("${username}","${password}".toCharArray());

//Get Collection
DBCollection collection = db.getCollection("${Collection}");

//Find ApplicationNum
//collection.find({applicationNum: "${applicationId}"});
BasicDBObject query = new BasicDBObject("applicationNum", "${applicationId}");
DBObject result = collection.findOne(query);
SampleResult.setResponseData(result.toString().getBytes());

Код ответа: 500 Ответное сообщение: javax.script.ScriptException: com.mongodb.MongoException: не авторизован для запроса по умолчанию.paymentHeader

1 Ответ

1 голос
/ 26 марта 2019

Это не имеет ничего общего с JMeter, вам нужно предоставить разрешения на чтение для ${username} на default.paymentHeader коллекции.

Также помните, что вы не должны ссылаться на Функции или переменные JMeter как ${username}, вы должны использовать vars сокращение для JMeterVariables вместо этого, например vars.get('username')

Дополнительная информация: Документация по JSR223 , в частности:

JMeter обрабатывает ссылки на функции и переменные перед передачей поля скрипта винтерпретатор, поэтому ссылки будут разрешены только один раз.Ссылки на переменные и функции в файлах сценария будут дословно передаваться интерпретатору, что может вызвать синтаксическую ошибку.Чтобы использовать переменные времени выполнения, пожалуйста, используйте соответствующие методы props, например,

props.get("START.HMS");

props.put("PROP1","1234");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...