博客
关于我
jmeter压测学习16-setUp线程组批量登录用户后保存token到本地.csv文件
阅读量:474 次
发布时间:2019-03-06

本文共 1335 字,大约阅读时间需要 4 分钟。

JMeter批量登录与CSV文件处理实践

前言

在之前的测试中,我们实现了通过setUp线程组为单个用户登录获取token并提取给其他线程组使用的功能。然而,在压测场景下,仅用单个用户登录显然无法满足高并发测试的需求。因此,我们需要在setUp线程组中实现批量登录,将token值批量提取并保存到本地CSV文件中,供后续接口参数化使用。

setUp线程组批量登录

为了满足批量登录需求,我们首先需要准备一批账号和密码信息。将这些账号和密码信息存储在文件D:\jmeter\user_password.txt中,格式如下:

test1,123456test2,123456test3,123456test4,123456test5,123456......

接下来,在JMeter中添加CSV数据文件设置,引用该参数化文件,并设置两个变量userpassword,将账号和密码信息分隔开来使用。

在线程组中设置循环次数为5次,依次使用账号和密码信息进行登录。通过查看结构树可以看到,每个账号依次完成登录过程。

BeanShell保存token到本地CSV文件

在登录成功后,我们需要提取token值并保存到本地CSV文件中。具体实现如下:

  • 使用JSON提取器提取token值。
  • 添加BeanShell后置处理程序,保存token值到D:\jmeter\user_token.csv中。
  • 保存时同时记录用户账号和对应的token值,确保数据完整性。
  • 以下是保存token的BeanShell代码示例:

    FileWriter fileWriter = new FileWriter(new File("D:\\jmeter\\user_token.csv"), true);BufferedWriter writer = new BufferedWriter(fileWriter);writer.append(vars.get("user") + "," + vars.get("token") + "\n");writer.close();fileWriter.close();

    删除本地文件

    在保存token到CSV文件的过程中,我们采用追加写入方式,这会导致多次运行时文件内容被覆盖。为了保证每次运行时使用最新的token值,我们需要在每次运行前删除之前的CSV文件。

    在BeanShell中添加文件删除代码如下:

    String path = "D:\\jmeter\\user_token.csv";File file = new File(path);file.delete();FileWriter fileWriter = new FileWriter(new File("D:\\jmeter\\user_token.csv"), true);BufferedWriter writer = new BufferedWriter(fileWriter);writer.clear();writer.write("");writer.close();fileWriter.close();

    这样,每次运行都会首先删除旧文件,确保生成的CSV文件始终是最新的。

    转载地址:http://drlbz.baihongyu.com/

    你可能感兴趣的文章
    python | webassets,一个超强的 Python 库!
    查看>>
    python | werkzeug,一个不可思议的 Python 库!
    查看>>
    python | xlsxwriter,一个实用的 Python 库!
    查看>>
    python | xlwings,一个非常实用的 Excel 相关的 Python 库!
    查看>>
    python | xmltodict,一个非常厉害的 关于XML数据 Python 库!
    查看>>
    python | xonsh,一个超酷的 Python 库!
    查看>>
    python | yagmail,一个实用的 Python 库!
    查看>>
    python | 一文掌握Python的上下文管理器和with语句
    查看>>
    python | 一文看懂Python闭包机制与变量作用域规则
    查看>>
    python读取含中文的json
    查看>>
    python | 如何用Python锁避免并发错误?
    查看>>
    python | 提升代码迭代速度的Python重载方法
    查看>>
    python | 深入理解Python并发编程中的GIL限制与解决方案
    查看>>
    Python | 爬虫实战——亚马逊搜索页监控(附详细源码)
    查看>>
    python | 高效使用Python工具自动生成模块文档的秘诀
    查看>>
    python 一个list去除另一个list中的值
    查看>>
    python 三大框架的 介绍。
    查看>>
    Python 下载的 11 种姿势,一种比一种高级!
    查看>>
    python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
    查看>>
    Python 中 3 个不可思议的返回功能
    查看>>