遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

JMeter巧用计数器实现CSV数据文件设置的功能

需求

本次压测范围包含登录接口,但是压测环境user表用户数据量太少,和生产环境数据量不是一个量级,因此,需要先通过并发跑注册接口造用户数据

需要参数化的字段是username和phone

说明:本次演示的接口是示例接口,非实际生产环境接口

注册接口如下:

 

方案一:CSV 数据文件设置

 

我们先通过代码(python或者java均可)造一定量的参数化数据写在参数化reg.txt文件中

package com.qzcsbj;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * @公众号 : 全栈测试笔记
 * @博客 : www.cnblogs.com/uncleyong
 * @微信 : ren168632201
 * @描述 : <>
 */
public class Test {
    public static void main(String[] args) throws IOException {
        File f = new File("d:/reg.txt");
        FileWriter fw = new FileWriter(f);// 构建一个文件字符输出流
        for (int i = 1; i < 1000001; i++) {
            String suffix = String.format("%07d", i);
            fw.write("jack" + suffix + ",1360" + suffix + "\n");
        }
        fw.close();
    }
}

  

生成的数据

jack0000001,13600000001
jack0000002,13600000002
jack0000003,13600000003
jack0000004,13600000004
jack0000005,13600000005
jack0000006,13600000006
jack0000007,13600000007
jack0000008,13600000008
jack0000009,13600000009
jack0000010,13600000010
jack0000011,13600000011
jack0000012,13600000012
jack0000013,13600000013
jack0000014,13600000014
jack0000015,13600000015
jack0000016,13600000016
jack0000017,13600000017
jack0000018,13600000018
jack0000019,13600000019
jack0000020,13600000020
......

  

然后通过csv数据文件设置实现注册接口的参数化

 

 

方案二:计数器

 

通过计数器,可以造指定格式的数字,然后和前缀字符串拼接形成参数值,比如username,前缀都是jack,计数器生成5位,拼接后就是jack0000001、jack0000002这种

 

 

总结

上述示例接口,用计数器更简单,我们不需要写代码造数据,也不需要CSV,同时规避了CSV参数化文件路径的问题(比如win和linux路径不一样)。

 

posted @ 2023-06-05 23:22  全栈测试笔记  阅读(217)  评论(1编辑  收藏  举报
浏览器标题切换
浏览器标题切换end