Проверка пользовательских переменных - PullRequest
0 голосов
/ 01 марта 2020

У меня есть несколько пользовательских переменных, установленных через свойства, которые я хотел бы проверить.

Я могу использовать сэмплер jsr223 для проверки их, но я не хочу дублировать все имена, которые уже установлены в определяемых пользователем переменных.

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

1 Ответ

1 голос
/ 02 марта 2020

Существует vars сокращение для JMeterVariables Экземпляр класса, который содержит все переменные JMeter (включая те, которые вы установили с помощью Пользовательские переменные класс).

Проверьте Top 8 JMeter Java Классы, которые вы должны использовать со статьей Groovy для получения дополнительной информации о vars и других сокращениях API JMeter, доступных для тестовых элементов JSR223.


Однако таким образом вы получите все переменные JMeter, включая предопределенные

Если вы хотите проверить только те переменные, которые вы определили в User Элемент конфигурации Defined Variables вы можете сыграть небольшую хитрость с Reflection :

import org.apache.jmeter.config.Arguments
import org.apache.jorphan.collections.SearchByClass


def engine = engine = ctx.getEngine()
def test = engine.getClass().getDeclaredField('test')

test.setAccessible(true)

def testPlanTree = test.get(engine)

SearchByClass<Arguments> udvSearch = new SearchByClass<>(Arguments.class)
testPlanTree.traverse(udvSearch)
Collection<Arguments> udv = udvSearch.getSearchResults()

udv.each { arguments ->
    0.upto(arguments.size() - 1, { rowNum ->
        def arg = arguments.getArgument(rowNum)
        log.info('Variable name = ' + arg.getName() + ', variable value = ' + arg.getValue())
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...