Jmeter 如何使用Ultimate线程组循环CSV文件值?

Jmeter 如何使用Ultimate线程组循环CSV文件值?,jmeter,Jmeter,我有这个links.csv文件: 我想创建一个JMeter测试计划,使用它根据上面CSV中的最后一列(hits)随机化点击 查看结果树时,我希望看到如下内容: 1. google.com 2. google.com 3. facebook.com 4. google.com 5. google.com 6. google.com 7. google.com 8. google.com 9. facebook.com 10. facebook.com 理想情况下,我希望将UTG设置为使用以下设置

我有这个links.csv文件:

我想创建一个JMeter测试计划,使用它根据上面CSV中的最后一列(hits)随机化点击

查看结果树时,我希望看到如下内容:

1. google.com
2. google.com
3. facebook.com
4. google.com
5. google.com
6. google.com
7. google.com
8. google.com
9. facebook.com
10. facebook.com
理想情况下,我希望将UTG设置为使用以下设置:

  • 开始线程计数=CSV文件中所有命中数的总和(例如7+3)
  • 初始延迟=0
  • 启动时间=60
  • 保持荷载=30
  • 关机时间=0

如何做到这一点?我很欣赏代码示例和屏幕截图,因为我对JMeter还是新手

我只能考虑在原始CSV文件的基础上生成一个新的CSV文件,以便:

  • 获取“点击次数”的“总和”
  • 生成一行,包含每个“命中”的方法、主机和路径
  • 为了实现这一目标:

  • 添加到您的测试计划中
  • 添加到线程组
  • 将以下代码放入“脚本”区域:

    def entries=新文件('/path/to/original.csv').readLines().drop(1)
    定义和=0
    def newCSV=新文件('/path/to/generated.csv')
    
    newCSV我只能考虑在原始CSV文件的基础上生成一个新的CSV文件,以便:

  • 获取“点击次数”的“总和”
  • 生成一行,包含每个“命中”的方法、主机和路径
  • 为了实现这一目标:

  • 添加到您的测试计划中
  • 添加到线程组
  • 将以下代码放入“脚本”区域:

    def entries=新文件('/path/to/original.csv').readLines().drop(1)
    定义和=0
    def newCSV=新文件('/path/to/generated.csv')
    
    newCSV如果将主机名${url}传递给采样器名称,则可以查看url名称如果将主机名${url}传递给采样器名称,则可以查看url名称Hi,感谢您的建议。你介意给我分享一些截图吗?谢谢。嗨,谢谢你的主意。你介意给我分享一些截图吗?非常感谢。
    1. google.com
    2. google.com
    3. facebook.com
    4. google.com
    5. google.com
    6. google.com
    7. google.com
    8. google.com
    9. facebook.com
    10. facebook.com
    
    def entries = new File('/path/to/original.csv').readLines().drop(1)
    def sum = 0
    def newCSV = new File('/path/to/generated.csv')
    newCSV << 'METHOD,HOST,PATH' << System.getProperty('line.separator')
    
    entries.each { entry ->
        def values = entry.split(',')
        def hits = values[3] as int
        sum += hits
        1.upto(hits, {
            newCSV << values[0] << ',' << values[1] << ',' << values[2] << System.getProperty('line.separator')
        })
    }
    
    props.put('threads', sum as String)