Получение ошибки "Имя класса" org. apache .jmeter.report.processor.graph.impl.TotalTPSGraphConsumer "в JAVA - PullRequest
0 голосов
/ 10 марта 2020

При попытке создать сводный отчет графически в Jmeter в Java (не в GUI) я получаю ошибку ниже.

ERROR   2020-03-10 14:10:48.284 [jmeter.r] (): Class name "org.apache.jmeter.report.processor.graph.impl.TotalTPSGraphConsumer" is not valid.

Полный код на всякий случай:

import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.report.dashboard.ReportGenerator;
import org.apache.jmeter.reporters.ResultCollector;
import org.apache.jmeter.reporters.Summariser;
import org.apache.jmeter.save.SaveService;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.collections.HashTree;

import java.io.File;

import static org.apache.jmeter.JMeter.JMETER_REPORT_OUTPUT_DIR_PROPERTY;

public class RunJMeterTest {

    public static void main(String[] args) throws Exception {
        StandardJMeterEngine jmeter = new StandardJMeterEngine();
        JMeterUtils.loadJMeterProperties("/path/to/your/jmeter/bin/jmeter.properties");
        JMeterUtils.setJMeterHome("/path/to/your/jmeter");
        JMeterUtils.initLocale();
        SaveService.loadProperties();
        HashTree testPlanTree = SaveService.loadTree(new File("/path/to/your/jmeter/bin/test.jmx"));
        Summariser summer = null;
        String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
        if (summariserName.length() > 0) {
            summer = new Summariser(summariserName);
        }
        String logFile = "/path/to/your/jmeter/bin/result.jtl";
        ResultCollector logger = new ResultCollector(summer);
        logger.setFilename(logFile);
        testPlanTree.add(testPlanTree.getArray()[0], logger);
        jmeter.configure(testPlanTree);
        jmeter.run();
        JMeterUtils.setProperty(JMETER_REPORT_OUTPUT_DIR_PROPERTY, "/path/to/dashboard");
        ReportGenerator generator = new ReportGenerator(logFile, null);
        generator.generate();
    }
}

Кто-нибудь знает причину этого? Высоко ценю любые предложения.

Спасибо.

1 Ответ

0 голосов
/ 10 марта 2020

Просмотр TotalTPSGraphConsumer. java исходный код

/**
 * The class TotalTPSGraphConsumer provides a graph to visualize transactions
 * rate per second.
 *
 * @since 5.0
 */

Так что обязательно используйте ту же версию JMeter для:

  1. Создание .jmx план тестирования
  2. Для запуска теста из кода Java ваш Project Classpath должен использовать те же версии библиотек зависимостей, что и JMeter из точки 1.

В соответствии с 9 Easy Solutions для теста нагрузки JMeter Сбой «Недостаточно памяти» артикул вы всегда должны использовать последнюю версию JMeter поэтому убедитесь, что вы используете JMeter 5.2.1 (или любую последнюю стабильную версию JMeter, доступную на JMeter Downloads page)

В частности, чтобы избавиться от Вышеуказанная ошибка должна иметь ApacheJMeter_core версии 5.2.1 в вашем пути к классам проекта.

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