zoukankan      html  css  js  c++  java
  • Jmeter中随机读取测试文件的内容

    性能测试中需要测试这么一个场景:测试数据是一堆的地址,存储在一个文件中。为了模仿真实的用户访问场景,需要从这个文件中每次随机选取地址,拼接在一个固定的域名后发送出去。看了半天jmeter的帮助文档,也在网上搜了半天,用jmeter的脚本解决:

    import java.text.*;
    import java.io.*;
    import java.util.*;

    String csvTest = "test_data.csv";
    //csvDir = vars.get("fileLocation");
    String csvDir = "./";
    ArrayList strList = new ArrayList();

    try {
      File file = new File(csvDir + csvTest);

      if (!file.exists()) {
        throw new Exception ("ERROR: file " + csvTest + " not found in " + csvDir + " directory.");
      }

      BufferedReader bufRdr = new BufferedReader(new FileReader(file));
      String line = null;

      while((line = bufRdr.readLine()) != null) {
        strList.add(line);
      }

      bufRdr.close();

      Random rnd = new java.util.Random();
      log.info(strList.get(rnd.nextInt(strList.size())));
      vars.put("data",strList.get(rnd.nextInt(strList.size())));
    }
    catch (Exception ex) {
      IsSuccess = false;
      log.error(ex.getMessage());
      System.err.println(ex.getMessage());
    }

    这样每次发请求时jmeter会随机读取“test_data.csv”这个文件中的内容,并存为data变量,在http request中设置Send Parameter With the Request,用${data}的方式把这个变量取出来就好了。

  • 相关阅读:
    几种任务调度的 Java 实现方法与比较
    nginx配置
    生产消费_lock和阻塞队列
    阻塞队列
    countdownlatch+cyclicbarrier+semphore
    01背包
    skiplist
    lru
    按序打印_lock和condition
    按序打印_volatile 无法保证顺序
  • 原文地址:https://www.cnblogs.com/tuochao/p/7159500.html
Copyright © 2011-2022 走看看