使用jmeter往指定文件中插入一定数量的数据(转)

有一个需求,新建一批账号,把获取的账号相关信息存入文本文件,当文本文件保存的数据达到一定的数量,就自动停止新建账号。

分析下需求:

1、把账号信息保存到文件,需要使用bean shell脚本(bean shell脚本语法和java一样,功能也一样),并且需往脚本中传入要保存的信息

2、文件中保存的数据达到一定的数量,就自动停止新建账号。数量也是要用bean shell脚本读文件获取文件行数,并传出。自动停止新建脚本,这就需要加个jmeter的if控制器,在if控制器的条件中判断数量是否达到。

脚本实现过程:

1、位了模拟得到账号信息,先设置一个User Defined Variables,通过add > config element > User Defined Variables 添加

在User Defined Variables 中添加一个变量account_info,值随意给就可以,如“111111111111”,这样往文件中保存“111111111111”模拟为账号信息

2、新建一个bean shell 脚本,读取获取文件行数

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;

int count = 0;
try{
    File file = new File("E:\\test.txt");
    // 如果文件不存在就新建
    if (!file.exists())
    {
        file.createNewFile();
    }
    // 读文件
    BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(new FileInputStream(file.getAbsolutePath()), "UTF-8"));
    // 循环获取文件行数
    while ((str=bufferedReader.readLine())!=null)
    {
        count = count + 1;
    }
    bufferedReader.close(); 

}catch(IOException e)
{
    e.printStackTrace();
}
//文件行数java变量传给jmeter变量total_lines
vars.put("total_lines",String.valueOf(count));

3、新建一个if 控制器

if 控制器里面的条件填写:

${__jexl3(${total_lines}<11,aa)},其中total_lines 是bean_shell脚本返回的。使用${__jexl3(${total_lines}<11,aa)} 对${total_lines}<11进行判断并返回true 或false

4、再在if控制器中新建一个 写文件bean shell

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
// 传入jmeter 变量 account  ,使用java变量 message接收
String message= vars.get("account_info");
try{
    File file = new File("E:\\test.txt");
    // 如果文件不存在,就新建一个文件
    if (!file.exists())
    {
        file.createNewFile();
    }
    // 文件末尾追加写入文件
    FileOutputStream fos = new FileOutputStream(file.getAbsoluteFile(),true);
     fos.write(message.getBytes());
     fos.write("\n".getBytes());
     fos.close();
}catch(IOException e)
{
    e.printStackTrace();
}

整个jmeter 脚本结构形式

原文地址:https://www.cnblogs.com/a00ium/p/10360396.html

时间: 2024-11-09 05:11:11

使用jmeter往指定文件中插入一定数量的数据(转)的相关文章

(2) 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?

在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表.那么在这个章节里面,我将会给大家演示一下,如何用Apache POI在已有的Excel文件中插入一行新的数据.具体代码,请看下面的例子. import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.

mysql5.7基础 向指定数据库的指定表中插入符合要求的数据

镇场文:       学儒家经世致用,行佛家普度众生,修道家全生保真,悟易理象数通变.以科技光耀善法,成就一良心博客.______________________________________________________________________________________________________ Operating System:UbuntuKylin 16.04 LTS 64bitmysql: Ver 14.14 Distrib 5.7.17, for Linux (

如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?

在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表.那么在这个章节里面,我将会给大家演示一下,如何用Apache POI在已有的Excel文件中插入一行新的数据.具体代码,请看下面的例子. [java] view plain copy import java.io.File; import java.io.FileInputStream; import java.io.FileNotFound

数据库中导出表中相应字段到指定文件中

数据库中导出某一个表中需要的字段到文件中是公司中经常要做到的事,那怎么实现呢? 比如你要查询enterpriseaics中的所有字段的值到d盘的aa.txt中去,注:aa.txt不能存在,否则会报错. <span style="font-size:18px;">select * from enterpriseaics into outfile 'd:\\aa.txt' ;</span> 当然如果你想规范一下格式,例如:每个字段的值之间以逗号分开,每一行换行,每个

在PE文件中插入一个新节

这篇文章写如何在exe文件中插入一个新节,并且让它还能继续运行.这个节里保存的是导入表信息,指向一个自己写的动态库.在PE头中修改导入表地址位自己新构建的导入表. 能够实现这些需要对PE文件结构有着熟悉的掌握,可参考<Windows PE权威指南>.当初我看这本书的时候觉得很枯燥,结构信息不太好记.但是经过这个项目和一个自己实现LoadLibrary函数的项目后对PE文件结构就有了较熟悉的掌握. 首先,通过内存映射将目标EXE文件映射到内存中,保存原始结构,然后将原来的PE头部写入新文件. 之

使用PDF编辑器怎么在PDF文件中插入新页面

当我们初次接触PDF文件的时候,一直觉得PDF文件是非常难编辑的,这也是因为当初没有找到一款专业的PDF编辑器,现在有了这样的软件之后再去编辑PDF文件就非常简单了,下面编者就来为大家讲解一下怎么使用pdf编辑器在pdf文件中插入页面! 1.打开电脑,在浏览中输入"迅捷PDF编辑器",找到该软件并将其下载安装到电脑. 2.运行该软件,点击"打开"按钮,将要插入空白页的PDF文件打开添加到迅捷PDF编辑器的操作页面. 3.在软件界面左侧的缩略图界面,选中要在其后面插入

随机生成50个密码到指定文件中

随机生成50个密码到指定文件中 [[email protected] ~]# cat round.sh #!/bin/bash count=1 while [ $count -le 50 ] do round=`cat /dev/urandom | head -n 10 | md5sum | head -c 8` echo $round >> /root/round.txt let count++ done 或者也可以这样来写 for((i=1;i<=50;i++)); do head

使用IO流实现对特殊文件及文件夹中文件拷贝到指定文件中

本程序可以实现将自己指定的文件类型的文件拷贝到自己想放的文件中,比如一个文件夹中有很多文件,那么我们想把所有的TXT文件拷贝到自己指定的文件中.(靠背笔记) package com.blueZhang; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcept

Java学习(2):将键盘录入的内容保存到指定文件中

要求:保存键盘录入的内容,当键盘输入end时,录入结束. 1 /** 2 * 保存键盘输入,并以end结束 3 * 4 * @author xcx 5 * @time 2017年6月24日下午3:32:50 6 */ 7 public class GetData { 8 9 public static void main(String[] args) throws IOException { 10 String fileName = "d:\\java\\jj\\dd.txt";//