jmeter 调用接口获取随机身份证,beanshell 写入到本地文件

来源:互联网 发布:雷电软件儿 编辑:程序博客网 时间:2024/06/16 09:53

目的:

  1. 在自动生成身份证网站 http://www.welefen.com/lab/identify/ 抓取随机身份证号码,
  2. 如果域txt文件已存在的号码不重复,则写入txt

实现:

  1. 该实现目的是为了配合jmeter其他接口调用,所以jmeter实现抓取身份证,并正则提取身份证号码(jmeter)
  2. 提取到的号码通过beanshell中java代码实现判断是否重复、不重复则写入

步骤:

  1. 随机生成号码的网址www.welefen.com,jmeter接口调用
  2. 正则提取身份证号码(每次自动随机生成5个,每次只取一个,方便简单)
  3. beanshell实现去重、写入txtimport java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStreamReader;
      
    String card= vars.get("card");
    try{
    File file = new File("C:\\Users\\test_yinshuai\\Desktop\\jmeter脚本\\注册200人\\card.txt");
    if (!file.exists())

    file.createNewFile();
    }  
    BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(new FileInputStream(file.getAbsolutePath()), "UTF-8"));
    String str="";
    boolean isExist=false; 
    while ((str=bufferedReader.readLine())!=null)

    if (str.trim().equals(card))
    {
    isExist=true;
    break;
    }
    }
    bufferedReader.close(); 
    if (!isExist)
    {
    FileOutputStream fos = new FileOutputStream(file.getAbsoluteFile(),true);//true表示在文件末尾追加  
           fos.write(card.getBytes());  
           fos.write("\n".getBytes());  
           fos.close();
    }
    }
    catch(IOException e)
    {
    e.printStackTrace();
    }
  4. 线程循环10次,写入txt
  5. 写入结果如下