Как программно добавить переменные в скрипт JMeter - PullRequest
1 голос
/ 08 апреля 2020

Я в процессе переноса коллекций Postman в jMeter. У меня нет проблем с импортом самой коллекции Postman, но проблема в переменных. Мои коллекции почтальонов в значительной степени полагаются на них. Я могу экспортировать переменные из Почтальона, но не смог найти способ их импортировать. Мне также нужно применить некоторые логики c при импорте. Я думаю о написании кода Java для импорта переменных Postman в jMeter. Класс jMeter, который, кажется, содержит переменные, является ValueReplacer, и я знаю, как добавить переменные в ValueReplacer, но не смог найти способ добавить заполненный ValueReplacer в план тестирования и сохранить его.

Мой код, который загружает план тестирования:

    StandardJMeterEngine standardJMeterEngine = new StandardJMeterEngine();
    JMeterUtils.loadJMeterProperties(jMeterHome + "/bin/jmeter.properties");
    JMeterUtils.setJMeterHome(jMeterHome);
    JMeterUtils.initLocale();
    HashTree testPlanTree = SaveService.loadTree(new File(jMeterScript));
    standardJMeterEngine.configure(testPlanTree);
    ValueReplacer valueReplacer = geterateValueReplacer(new File(postmanExportedVariables));
    // add valueReplacer to testPlanTree  and save

Так что я могу загрузить скрипт и сгенерировать ValueReplacer. Есть ли способ добавить объект valueReplacer в скрипт и сохранить его?

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

После некоторого исследования кажется невозможным импортировать переменные Postman напрямую. Поскольку ни один из конвертеров Postman в jMeter, который я нашел, не может обрабатывать все, что мне нужно: переменные Postman, formdata, oauth2, я в итоге написал свой собственный конвертер

0 голосов
/ 13 апреля 2020

Вам не нужно явно вызывать класс ValueReplacer, если вы хотите запустить существующий план тестирования JMeter из кода Java, просто убедитесь, что переменные JMeter просто объявлены на своих местах с помощью определяемых пользователем переменных или из постпроцессоров

Так что если вы объявите переменную foo со значением bar в пользовательских переменных:

enter image description here

Вы сможете обозначить его как ${foo}, где это необходимо:

enter image description here

Если вы запускаете свой тест JMeter из Java кода, JMeter оценит переменную во время выполнения и определит их значения.

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