Проблема конфигурации кроссплатформенного пути Jmeter - PullRequest
0 голосов
/ 06 марта 2019

Я работаю над конфигурацией Jmeter master-slave, мой набор данных существует на каждой машине по разному пути для (macOS, Windows).

Я использую глобальный набор данных для извлечения данных для нескольких групп потоков. reading student data Однако переменная / свойство может быть разной на разных платформах.

Я также попытался проверить JSR223, но все равно не повезло. посмотрите на снимок ниже. JSR223

Я пытаюсь убедиться, что после запуска теста с Master (Mac) он также будет работать в Windows.

Любые мысли, как это сделать на множественной платформе.

1 Ответ

1 голос
/ 06 марта 2019

Лучшее решение - поместить ваши тестовые данные в тот же путь, который будет относительно рабочего каталога JMeter, так что вам не придется ничего менять в вашем скрипте.

Если по какой-то причине вы не можете себе этого позволить, вы можете добавить JSR223 Sampler к своему плану тестирования и использовать такой код:

if (org.apache.commons.lang3.StringUtils.containsIgnoreCase(System.getProperty('os.name'), 'Windows')) {
    vars.put('data-path', 'c:/windows/specific/path')
} else {
    vars.put('data-path', '/macos/specific/path')
}

Он обнаружит имя операционной системы во время выполнения, и вы сможете определить пути для конкретной ОС, используя описанный выше подход.

vars является сокращением для JMeterVariables экземпляра класса, приведенный выше код определяет ${data-path} JMeter Variable, который можно использовать позже для указания местоположения файлов данных. См. 8 лучших Java-классов JMeter, которые вы должны использовать с Groovy , чтобы узнать больше о JMeter API ярлыках, доступных для тестовых элементов JSR223

...