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}的方式把这个变量取出来就好了。

  • 相关阅读:
    jQuery
    基于Js实现的UrlEncode和UrlDecode函数代码
    利用缓存、Timer间隔时间发送微信的实例,很有用的例子
    VisualStudio 自动排版等 快捷键
    正则表达式判断手机号码属于哪个运营商
    .Net常用方法汇总
    .NET中的三种Timer的区别和用法
    C# List和String互相转换
    Tempdb--TempDB Basic
    Tempdb--查看tempdb使用的脚本
  • 原文地址:https://www.cnblogs.com/tuochao/p/7159500.html
Copyright © 2011-2022 走看看