• Jmeter实现筛数


    测试一个接口,在本地数据库查出来很多数据,但是只有一部分数据可用。由于这个接口调用很多其他系统的接口(rpc调用),SQL很多用hibernate封装的,导致想查到具体的SQL非常困难,简单的方法就是对原有数据进行筛选,筛出可用的数据进行参数化。

    之前使用loadrunner,筛数直接放在end里面,根据返回结果进行判断,成功的打印在本地即可,jmeter原理大体一样,稍麻烦些。

    首先,需要写好一个接口并进行参数化。

    然后需要写一个正则表达式,用来判断接口是否成功,后面做判断用。缺省值需要写上,后面判断会用。

    最后添加一个后置的BeanShell PostProcessor,进行判断。代码如下。基本逻辑是先获取参数化值,然后创建文件,再进行判断,成功的打印到文件里。

    import java.io.File; 

    import java.io.InputStreamReader; 

    import java.io.BufferedReader; 

    import java.io.BufferedWriter; 

    import java.io.FileInputStream; 

    import java.io.FileWriter;

    vars.put("levid","${levid}");

    vars.put("classid","${classid}");

    vars.put("Stuid","${stuid}");

    vars.put("year","${year}");

    vars.put("term","${term}");

    vars.put("grdid","${grdid}");

    vars.put("subjid","${subjid}");

    //vars.put("Claid","${getClaId}");

    String getlevid = vars.get("levid");

    String getclassid = vars.get("classid");

    String getStuid = vars.get("Stuid");

    String getyear = vars.get("year");

    String getterm = vars.get("term");

    String getgrdid = vars.get("grdid");

    String getsubjid = vars.get("subjid");

    String getclaId = vars.get("getClaId");

    //if(getclaId == "NOT FOUND"){

    //  getStuid = "NOT FOUND";

    //  }

    //log.info("======================"+getStuid);

    log.info("**********************11"+getclaId);

    try {  

                /* 写入Txt文件 */ 

              

                File file = new File("D://stuId.txt"); // 相对路径,如果没有则要建立一个新的output。txt文件 

                if (!file.exists()) {           //创建新文件

                    file.createNewFile();

                }

                FileWriter out = new FileWriter(file,true);

                if (!getclaId.equals("NOTFOUND")){

                 //  out.write(getStuid+" ");

                 out.write(getlevid+ "," +getclassid + "," +getStuid+ "," + getyear + "," +getterm + "," + getgrdid + "," +getsubjid +" ");

                  }

                out.flush(); // 把缓存区内容压入文件 

                out.close(); // 最后记得关闭文件

            } catch (Exception e) { 

                e.printStackTrace(); 

            }

  • 相关阅读:
    hdu 2444(二分图) The Accomodation of Students
    hdu 5532 (LIS) Almost Sorted Array
    hdu 1059 (多重背包) Dividing
    poj 2184(Cow Exhibition)
    hdu 2571 (命运) 那个配图女神
    poj 3624 && hdu 2955(背包入门)
    hdu 1257 && hdu 1789(简单DP或贪心)
    BBS(第一天)项目之 注册功能实现通过forms验证与 前端ajax请求触发查询数据库判断用户是否存在的功能实现
    Django之form模板的使用
    Django之Auth模块 实现登录,退出,自带session 与认证功能的一个重要的模块
  • 原文地址:https://www.cnblogs.com/huantianxing/p/8491903.html
Copyright © 2020-2023  润新知