Увидеть разницу при запуске jmx из приложения java и в режиме графического интерфейса

У моего Java pom.xml есть следующие зависимости:

       <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_core</artifactId>
            <version>5.0</version>
        </dependency>

и в моем jmx файле -> утверждение jsr223 у меня есть эта простая функция:

log.info(prev.getResponseDataAsString())

Когда я выхожу из режима графического интерфейса пользователя, я могу видеть полный ответ, зарегистрированный в консоли, но когда мое приложение Java выполняет тот же самый jmx, я получил:

2018/10/25 20:50:53,576 12050 [INFO  ] [Thread Group 1-1] (?:?) – 
${__FileToString(${inputFilePath},,)}

Это потому, что я пропустил некоторые зависимости в моем pom.xml? Поскольку он всегда возвращается

${__FileToString(${inputFilePath},,)}

вместо фактического ответа, из-за чего я не могу продолжить оставшуюся часть теста. Все остальное зависит от этого результата. Эта функция поступает из данные тела сэмплера HTTP-запроса !!!!!! Если я дам фактическое тело там, я смогу запустить jmx ...... Есть идеи, как работать с этими динамическими данными тела?

ОБНОВЛЕНИЕ 1 Я нашел решение! Вместо этого напрямую использовать ${__FileToString(${inputFilePath},,)} в данных тела пробоотборника HTTP-запроса, я могу просто создать еще один пробоотборник JSR223 над пробоотборником HTTP-запроса, и в этом сэмплере я могу просто сделать:

import org.apache.commons.io.FileUtils
log.info("--------------------------------------- "+ '${inputFilePath}')
String content = FileUtils.readFileToString(new File('${inputFilePath}'))

vars.put("reqBody", content)

а в основных данных HTTP Request Sampler я сделаю ${reqBody}. Вот и все!

Вместо обновления 1 вы можете ответить на свой вопрос

user7294900 26.10.2018 06:04
1
1
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам не хватало зависимости:

  <dependency>
        <groupId>org.apache.jmeter</groupId>
        <artifactId>ApacheJMeter_functions</artifactId>
        <version>5.0</version>
    </dependency>

Другие вопросы по теме