如何在JMeter测试计划中嵌入测试数据集?

时间:2018-05-07 06:33:19

标签: jmeter

目前,我的JMeter测试使用CSV Data Set Config为我执行的每个HTTP请求迭代一组有限的输入数据。

但我不想处理外部文件的麻烦(将其上传到我的测试运行器等) - 我想将数据嵌入到jmx文件本身。< / p>

我希望得到像测试数据这样的东西。节点,与CSV数据集类似(特别是Recycle on EOF),我只是将数据复制/粘贴到测试计划中,而不是使用外部文件。

我认为我可以使用JSR223预处理器来解决它 - 但是有更好的内置方式吗?

修改:根据评论:无法生成数据。

3 个答案:

答案 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 ElementsGroovy语言执行此操作,语法正确

  

vars。 put (“messageId”,“wibble”);

varsJMeterVariables类实例的简写,请参阅JavaDoc以获取可用的函数和属性。

更方便User Defined VariablesUser Parameters或更好Set Variables Action

答案 2 :(得分:0)

您可以创建包含按Tab键分隔的键和值的文本,复制所有文本

  • 请注意,如果您有属性文件,则可以使用标签
  • 替换=

添加到JMeter GUI User Defined Variables 并点击Add from Clipboard

它将所有变量加载到JMeter而不用#34;手动使用JMeter的GUI&#34;