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

分析下需求:

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 脚本结构形式

欢迎关注微信公众号:为测,获取更多技术干货资料

使用jmeter往指定文件中插入一定数量的数据的更多相关文章

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

    有一个需求,新建一批账号,把获取的账号相关信息存入文本文件,当文本文件保存的数据达到一定的数量,就自动停止新建账号. 分析下需求: 1.把账号信息保存到文件,需要使用bean shell脚本(bean ...

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

    在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表.那么在这个章节里面,我将会给大家演示一下,如 ...

  3. 使用Apache POI操作Excel文件---在已有的Excel文件中插入一行新的数据

    package org.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundEx ...

  4. 自定义VBS脚本(统计在指定文件中搜索字符串出现的次数)

    '=========================================================================='' VBScript Source File - ...

  5. 通过wget工具下载指定文件中的URLs对应的资源并保存到指定的本地目录中去并进行文件完整性与可靠性校验

    创建URLs文件在终端输入cd target_directory回车,便把当前文件夹切换到了目标文件夹target_directory,此后创建的文件都会丢它里面在终端输入cat > URLs回 ...

  6. java:从指定问价中读取80个字节写入指定文件中

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class F ...

  7. Java查找指定文件中指定字符的个数

    package lwl.youweb2.test; import java.io.BufferedReader; import java.io.FileReader; import java.io.I ...

  8. flink---实时项目--day01--1. openrestry的安装 2. 使用nginx+lua将日志数据写入指定文件中 3. 使用flume将本地磁盘中的日志数据采集到的kafka中去

    1. openrestry的安装 OpenResty = Nginx + Lua,是⼀一个增强的Nginx,可以编写lua脚本实现⾮非常灵活的逻辑 (1)安装开发库依赖 yum install -y ...

  9. 从文件中读取yuv和h264数据

    1.从文件中读取h264数据 参考ffmpeg avc.c写的从文件中一帧帧读取h.264数据的demo #include <stdio.h> #include <stdlib.h& ...

随机推荐

  1. moodle3.15+,mysql完全的Unicode支持配置

    https://docs.moodle.org/dev/Releases,moodle个版本升级的主要内容和改动 在windows是mysql.ini  linux 下是mysql.cnf 因为MyS ...

  2. ADI SHARC 学习之PLL

    PLL Block Diagram             Power Management Registers (PMCTL, PMCTL1)The following sections descr ...

  3. mongoDB的配置以及运行

    干嘛的:数据库,nosql(非关系型)   场景:解决大规模数据集合多重数据种类 一.mongoDb安装: 下载地址: https://www.mongodb.com/download-center ...

  4. Angular 个人深究(四)【生命周期钩子】

    Angular 个人深究(四)[生命周期钩子] 定义: 每个组件都有一个被 Angular 管理的生命周期. Angular 创建它,渲染它,创建并渲染它的子组件,在它被绑定的属性发生变化时检查它,并 ...

  5. Angular 个人深究(三)【由Input&Output引起的】

    Angular 个人深究(三)[由Input&Output引起的] 注:最近项目在做别的事情,angular学习停滞了 1.Angular 中 @Input与@Output的使用 //test ...

  6. TensorFlow 核心——数据流图

    1 计算模型 -- 计算图(Graph) 更多参考:数据流图 TensorFlow 中的所有计算都会被转化为计算图上的节点.TensorFlow 是一个通过计算图的形式来表述计算的编程系统.Tenso ...

  7. [Codeforces743D][luogu CF743D]Chloe and pleasant prizes[树状DP入门][毒瘤数据]

    这个题的数据真的很毒瘤,身为一个交了8遍的蒟蒻的呐喊(嘤嘤嘤) 个人认为作为一个树状DP的入门题十分合适,同时建议做完这个题之后再去做一下这个题 选课 同时在这里挂一个选取节点型树形DP的状态转移方程 ...

  8. postcss那些事儿

    一.sass和postcsssass.less.stylus,三者是css预处理器,使用预编码来处理css,然后编译成线上需要的css.postcss是处理你写好的css,让你的css更健康,对浏览器 ...

  9. python魔法方法-比较相关

    在python2.x的版本中,支持不同类型的比较,其比较原则如下: 内置类型: 1.同一类型:   1.1)数字类型:包含int.float.long.complex.bool(bool类型是int的 ...

  10. POJ.2065.SETI(高斯消元 模线性方程组)

    题目链接 \(Description\) 求\(A_0,A_1,A_2,\cdots,A_{n-1}\),满足 \[A_0*1^0+A_1*1^1+\ldots+A_{n-1}*1^{n-1}\equ ...