目前,我的JMeter测试使用CSV Data Set Config
为我执行的每个HTTP请求迭代一组有限的输入数据。
但我不想处理外部文件的麻烦(将其上传到我的测试运行器等) - 我想将数据嵌入到jmx文件本身。< / p>
我希望得到像测试数据这样的东西。节点,与CSV数据集类似(特别是Recycle on EOF
),我只是将数据复制/粘贴到测试计划中,而不是使用外部文件。
我认为我可以使用JSR223预处理器来解决它 - 但是有更好的内置方式吗?
修改:根据评论:无法生成数据。
答案 0 :(得分:0)
这是我第一次使用JSR223预处理器节点进行基于脚本的方法:
// This is where the data is embedded. Up to a couple of hundred entries
// is probably fine, more than that will likely be a bad idea.
def messageIdList = ["graffle", "wibble", "wobble", "flobble", "gibble", ...]
def messageIndex = (vars.getIteration() -1) % (messageIdList.size() -1)
println "iteration ${vars.iteration}, size ${messageIdList.size()}, index: ${messageIndex}"
vars.put("messageId", messageIdList[messageIndex]);
messageIndex++
即使在具有多个线程的Thread Group
中运行,这似乎也能满足我的需求。
我不确定vars.getIteration()
代表什么,我不清楚变量的确切生命周期/范围。但它现在会做。
任何更好的答案都会高兴地接受,标记和投票。
答案 1 :(得分:0)
如果您想通过JSR223 Test Elements和Groovy语言执行此操作,语法正确
vars。 put (“messageId”,“wibble”);
vars
是JMeterVariables类实例的简写,请参阅JavaDoc以获取可用的函数和属性。
更方便User Defined Variables或User Parameters或更好Set Variables Action
答案 2 :(得分:0)
您可以创建包含按Tab键分隔的键和值的文本,复制所有文本
=
添加到JMeter GUI User Defined Variables 并点击Add from Clipboard
它将所有变量加载到JMeter而不用#34;手动使用JMeter的GUI&#34;