基于 Javafaker 在 MeterSphere 中生成随机测试数据


朱飞鸽
飞致云 发布于 2023-12-06 / 775 阅读 / 0 评论 /
一、BeanShell 生成测试数据示例 Javafaker 是一个自动生成测试数据的 Java 库,通过 Javafaker 可以方便的生成各种数据,比如姓名,邮件,电话,书籍,城市,日期等多种测试数据。 源码地址:https://github.com/DiUS/java-faker maven

一、BeanShell 生成测试数据示例

Javafaker 是一个自动生成测试数据的 Java 库,通过 Javafaker 可以方便的生成各种数据,比如姓名,邮件,电话,书籍,城市,日期等多种测试数据。

源码地址:https://github.com/DiUS/java-faker

maven 仓库地址:

<dependency>
    <groupId>com.github.javafaker</groupId>
    <artifactId>javafaker</artifactId>
    <version>1.0.2</version>
</dependency>

用法及结果如下:

将下载的 javafaker-1.0.2.jar 包上传至项目设置-文件管理,并开启“加载jar包” 。

其中 Beanshell 脚本如下所示:

import com.github.javafaker.Faker;
import java.util.Locale;
import java.text.SimpleDateFormat;
 
Faker faker=new Faker(new Locale("zh-CN"));//默认英文,转为中文
//log.info(faker.idNumber().valid());//生成身份证号失败
 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
log.info(sdf.format(faker.date().birthday()));//日期
log.info(faker.name().fullName());//姓名
log.info(faker.address().fullAddress());//地址
log.info(faker.address().city());//城市
log.info(faker.internet().emailAddress());//邮箱
log.info(faker.phoneNumber().cellPhone()); //中国手机号
log.info(faker.business().creditCardNumber());//银行卡

输出结果:

二、Python 生成测试数据示例

首先在 virtualenv 环境安装faker包,安装步骤如下:

  • 步骤一:先安装 setuptools

win 下载地址:https://pypi.python.org/pypi/setuptools#downloads

linux : wget https://files.pythonhosted.org/packages/b5/96/af1686ea8c1e503f4a81223d4a3410e7587fd52df03083de24161d0df7d4/setuptools-46.1.3.zip

将下载后的 tar 文件解压,用 CMD 模式进入到解压后的文件所在的目录执行命令:python setup.py install

  • 步骤二:安装 pip 

下载地址:https://pypi.python.org/pypi/pip#downloads

linux :wget https://files.pythonhosted.org/packages/d1/05/059c78cd5d740d2299266ffa15514dad6692d4694df571bf168e2cdd98fb/pip-20.1.tar.gz

将下载后的 tar 文件解压,用 CMD 模式进入到解压后的文件所在的目录执行命令:python setup.py install ,直至安装完成。

  • 步骤三:安装 Javafaker 

pip install Faker 
  • 步骤四:安装 fake-factory

pip install fake-factory

其中 Python 脚本如下所示:

import sys
 
faker_path = "/opt/metersphere/data/python/lib/python2.7/site-packages";
if faker_path not in sys.path:
    sys.path.append(faker_path);
 
from faker import Faker
 
fake = Faker()#默认为英文
fake = Faker(locale='zh_CN')#切换为中文
 
 
log.info(fake.name()) #伪造名字
log.info(fake.address())  #伪造地址
log.info(fake.ssn()) #伪造身份证
log.info(fake.phone_number()) #伪造手机号
log.info(fake.email())#邮箱
log.info(fake.credit_card_number())#银行卡
log.info(fake.city());#城市
log.info(fake.postcode())#邮编

 输出结果:

注意事项:

调试过程中,如果出现 ImportError: The ``fake-factory`` package is now called ``Faker``.,则创建 requirements.txt 

pip freeze >requirements.txt

获取现有环境中的 python 包,然后在 requirements.txt 中追加如下内容:

fake-factory==0.7.4           
factory-boy==2.7.0

然后调用下面这条命令,等待安装完成即可。

pip install -r requirements.txt



是否对你有帮助?