Jmeter 验证用户定义的变量
我有几个用户定义的变量设置通过属性,我想验证 我可以使用jsr223采样器来验证这些,但我不想重复用户定义变量中已经设置的所有名称 是否有一些编程方法来获取声明的用户定义变量,可能通过采样器或上下文变量?类实例有vars速记,它保存所有JMeter变量,包括通过类设置的变量 查看这篇文章,了解有关JSR223测试元素可用的VAR和其他JMeterAPI速记的更多信息 但是,通过这种方式,您将获得所有JMeter变量,包括 如果只想验证在“用户定义变量”配置元素中定义的变量,则可以使用以下工具:Jmeter 验证用户定义的变量,jmeter,Jmeter,我有几个用户定义的变量设置通过属性,我想验证 我可以使用jsr223采样器来验证这些,但我不想重复用户定义变量中已经设置的所有名称 是否有一些编程方法来获取声明的用户定义变量,可能通过采样器或上下文变量?类实例有vars速记,它保存所有JMeter变量,包括通过类设置的变量 查看这篇文章,了解有关JSR223测试元素可用的VAR和其他JMeterAPI速记的更多信息 但是,通过这种方式,您将获得所有JMeter变量,包括 如果只想验证在“用户定义变量”配置元素中定义的变量,则可以使用以下工具:
太棒了,这正是我想要的
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())
})
}