Я написал код подключения Mongo DB в NodeJS, он работает хорошо, но не работает в Jmeter - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь подключить Jmeter к MongoDB, используя java-скрипт в качестве языка сценариев, но он не работает.

Я пробовал тот же код в узле JS, и он хорошо работает, но не работает в Jmeter

var mongo = require('mongodb');

var MongoClient = mongo.MongoClient;

var url = 'mongodb://10.80.47.101:27017';

 MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {

 if (err) throw err;

const db = client.db("scorecard");

db.listCollections().toArray().then((docs) => {

    console.log('Available collections:');
    docs.forEach((doc, idx, array) => { console.log(doc.name) });

}).catch((err) => {

    console.log(err);
}).finally(() => {

    client.close();
});

});

Я получаю эту ошибку в Jmeter:

Код ответа: 500 Ответное сообщение: javax.script.ScriptException:: 9: 6 Ожидается: но найдено (если (ошибается) добавьте ошибку; ^ в строке № 9 в столбце № 6

1 Ответ

0 голосов
/ 28 октября 2019
  1. Возможность выполнения JavaScript JMeter весьма ограничена механизмом Nashorn , т. К. Ваш скрипт потерпит неудачу в первой строке, так как require не является частью JavaScriptAPI, это что-то из Node.js
  2. Начиная с JMeter 3.1, не рекомендуется использовать языки, отличные от Groovy , для любых сценариев

Таким образом, вместо того, чтобы пытаться загрузить свой экземпляр Mongo с использованием кода JavaScript, вам следует:

  1. Загрузить Драйвер Java MongoDB , соответствующий вашей версии Mongo, и установить его на JMeter Classpath
  2. Перезапустите JMeter, чтобы выбрать .jar вверх
  3. Добавьте JSR223 Sampler в свой план тестирования
  4. Напишите свою логикув Groovy проверьте JavaDoc для конкретной версии драйвера Mongo Java для правильного синтаксиса

Дополнительная информация: Тестирование производительности MongoDB с JMeter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...