JMeter - игнорировать прослушиватель дерева результатов только в графическом интерфейсе - PullRequest
0 голосов
/ 27 июня 2018

Важно Лучшая практика не использовать View Results Tree

Не используйте прослушиватели «Просмотр дерева результатов» или «Просмотр результатов в таблице» во время нагрузочного теста, используйте их только на этапе создания сценариев для отладки сценариев.

Или любые слушатели:

Используйте как можно меньше слушателей; при использовании флага -l, как указано выше, все они могут быть удалены или отключены.

Но View Results Tree - отличный инструмент для отладки для выявления проблем в сценариях.

Можем ли мы как-то игнорировать это только при работе в режиме без графического интерфейса?

Я могу игнорировать результат сэмплера с помощью метода setIgnore , даже игнорировать группу потоков, задав в свойстве Number of Threads значение 0, может ли прослушиватель игнорироваться свойством?

В настоящее время я вручную включаю / отключаю в графическом интерфейсе до / после запуска без графического интерфейса.

EDIT

Но файлы jmx сохраняются в системе управления версиями, поэтому они должны оставаться только для чтения (используется как для графического, так и для графического интерфейса)

1 Ответ

0 голосов
/ 27 июня 2018

Я бы сказал, что в настоящее время это невозможно при классическом режиме без графического интерфейса пользователя выполнения теста, варианты:

  1. Полностью удалите всех слушателей из плана тестирования и управляйте тем, что хранится в файле результатов .jtl, используя Свойства конфигурации файла результатов
  2. Создайте простую программу-оболочку Java для запуска теста JMeter без графического интерфейса, который будет сканировать план тестирования перед запуском и отключать слушателей. Это было бы что-то вроде:

    StandardJMeterEngine jmeter = new StandardJMeterEngine();
    JMeterUtils.loadJMeterProperties("/path/to/your/jmeter.properties");
    JMeterUtils.setJMeterHome("/path/to/your/jmeter");
    JMeterUtils.initLocale();
    SaveService.loadProperties();
    HashTree testPlanTree = SaveService.loadTree(new File("/path/to/your/testplan"));
    SearchByClass<ResultCollector> listenersSearch = new SearchByClass<>(ResultCollector.class);
    testPlanTree.traverse(listenersSearch);
    Collection<ResultCollector> listeners = listenersSearch.getSearchResults();
    listeners.forEach(listener -> listener.setProperty(TestElement.ENABLED, false));
    jmeter.configure(testPlanTree);
    jmeter.run();
    
  3. Используйте для запуска теста инструмент Телец , он имеет Модификации для существующих сценариев , поэтому вы сможете отключить слушателей, используя простой декларативный синтаксис YAML:

    ---
    execution:
      scenario:
        script: /path/to/your/testplan
        modifications:
          disable:  # Names of the tree elements to disable
          - View Results Tree
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...