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

分析下需求:

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. STL defalloc.h

    defalloc.h . // Filename: defalloc.h . . // Comment By: 凝霜 . // E-mail: mdl2009@vip.qq.com . // Blog ...

  2. Python 爬虫 —— 网页内容解析(lxml)

    0. xpath 语法 找到所有 <img src=....> 图像的链接: xpath = './/img/@src' img_urls = html.xpath(xpath) @修饰节 ...

  3. Windows常用的命令

    wmic msinfo32 regedit msconfig

  4. Oracle 12C 新特性之扩展数据类型(extended data type)

    Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字 ...

  5. HUE,大数据的SQL Shell

    1. HUE需要安装SASL 发现异常: Could not install table: Error creating table sample_07: Could not start SASL: ...

  6. bzoj 3998 弦论 —— 后缀自动机

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3998 关于相同子串算一个还是算多个,其实就是看一种状态的 right 集合是否加上 Pare ...

  7. C#创建DataTable的语法

    namespace EazyCMS.Web.admin { public partial class ceshi1 : System.Web.UI.Page { protected void Page ...

  8. Selenium并行启动多个浏览器

    如果你对 Selenium 自动化测试已经非常熟悉,你仅仅需要一个快速上手来使程序运行起来.本章节的内容能满足不同的技术层次,但是如果你仅仅需要一个可以快速上手的指引,那么就显得有点多.如果是这样,你 ...

  9. Mac系统的launchd、守护进程daemon(2013笔记整理)

    1. launchd Mac系统下通用的进程管理器,是Mac系统下非常重要的一个进程,一般来说该进程不允许直接以命令行的形式调用.只能通过其控制管理界面,launchctl来进行控制. launchd ...

  10. MySql获取记录的名次

    在oracle中有rownum之类的东西表示记录的名次,那么在MySql中怎么获取名次呢? as rank ) B 获取的rank就是名次了 user_id rank 134762    122139 ...