前言:

测试工作中,有很多时间需要造数据来测一些功能,或者在性能测试中需要造大量的数据来进行性能测试,且我们需要批量创建的无非是手机号,身份号,邮箱号等数据,接下来我总结几个我自己走通了的方法

手机号/身份证号

方法1--excel

  1. 通过excel创建一条数据,下拉的方式,选中数据框,右下角如果出现加粗的十字符号,下拉即可,想要多少拉多少,优点:快,缺点,数据量大不适合,拉到手抽筋

  1. 选中单元格,序列,自动填充,分分钟造想要的数据量,假如需要几万条数据,这里直接选中一列去生成数据,反正只会多不会少,我试了一列有上一条数据了

方法2

  1. 通过python函数循环跑代码,写入到文件就可以了,脚本附上

身份号:

import random
from ExcelHandler import ExcelHandler
# import time


def gen_mobilephone():
    ID_card = '52263119960426' + random.choice(['0','1','2','3','4','5','6','7','8','9'])
    for i in range(0, 4):
        if len(ID_card) == 17:
            break
        ID_card = ID_card + str(random.randint(0, 17))
    ID_card=ID_card+str(random.choice(['0','1','2','3','4','5','6','7','8','9','X']))
    return ID_card

# if __name__=="__main__":
#     print(gen_mobilephone())
n=0
while n<500000:
    date_01 = ExcelHandler(r'C:\Users\dell\Desktop\id_card.xlsx').get_data('id_card')
    ExcelHandler(r'C:\Users\dell\Desktop\id_card.xlsx').write(file=r'C:\Users\dell\Desktop\id_card.xlsx', name='id_card',
                                                            row=2+n, column=1,
                                                            data=gen_mobilephone())
    n=n+1

手机号:

import random
from common.ExcelHandler import ExcelHandler
import time


def gen_mobilephone():
    phone = '1' + random.choice(['3', '5', '6', '7', '8', '9'])
    for i in range(0, 9):
        if len(phone) == 11:
            break
        phone = phone + str(random.randint(0, 9))
    return phone

n=0
while n<500000:
    date_01 = ExcelHandler(r'C:\Users\dell\Desktop\phone.xlsx').get_data('phone1')
    ExcelHandler(r'C:\Users\dell\Desktop\ceshi.xlsx').write(file=r'C:\Users\dell\Desktop\phone.xlsx', name='phone1',
                                                            row=2+n, column=1,
                                                            data=gen_mobilephone())
    n=n+1

方法3

  1. jmeter BeanShell预处理程序,通过固定前置+拼接随机数造成一个手机号或者身份证号,姜变量引用到请求参数就可,这些用于测试足够,但是如果校验身份证合法性的可能需要另想办法了

String[] FirstThreeNumber = {"134","135","136","137","138","139","147","150","152","157","158","159","172","178","182","183","184","187","188","198","130","131","132","145","155","156","166","171","175","176","185","186","166","133","149","153","173","177","180","181","189","199"};

//随机获取前三位手机号的index

int n= (int)(Math.random() * FirstThreeNumber.length);

//获取手机前三位

String yy = FirstThreeNumber[n];

//循环获取手机号后8位
 

for(int i = 0; i < 8; i++)
{
    int x = (int)(Math.random() * 9);
    yy = yy + x;
};
vars.put("phone", yy);

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐