JMeter:需要根据某些标准将CSV文件中的所有值发送给请求体中的不同变量



我有一个CSV文件,其中包含一些用户详细信息,例如他们的员工id(123456)和电子邮件id (abc@xyz.com)。用户的员工id/email id出现在第一列,第二列包含id的类型(员工id/email id)。如下所示:

idTypeempidabc@xyz.comemailidempidghi@xyz.comemailid

您可以使用合适的JSR223测试元素,即

  1. 添加JSR223 PreProcessor作为需要生成JSON主体的请求的子请求

  2. 将以下代码放入"Script"面积:

    def lines = new File('/path/to/your/file.csv').readLines().drop(1)
    def empIds = lines.findAll { line -> line.split(',')[1] == 'empid' }.collect { line -> line.split(',')[0] }
    def emailIds = lines.findAll { line -> line.split(',')[1] == 'emailid' }.collect { line -> line.split(',')[0] }
    def payload = ['empid': empIds, 'emailid': emailIds]
    vars.put('payload', new groovy.json.JsonBuilder(payload).toPrettyString())
    
  3. 在"Body data"中使用${payload}JMeter变量引用选项卡

更多信息:

  • Apache Groovy -解析和生成JSON
  • Groovy模板JMeter备忘单

最新更新