MeterSphere接口测试中的银行卡号、手机号码、身份证号等测试数据生成方法

401 阅读2分钟

 接口测试中,经常会遇到需要生成特定测试数据,如银行卡号 而且是特定银行的银行卡号,手机号码(联通,移动,电信),身份证号码(大于18岁,小于18岁)。

下面简要说明如何生成上面的测试数据,并且在MeterSphere(github.com/metersphere)接口测试中 使用他们。

测试数据生成准备:

  1. 本地装好JDK1.8以上 (具体安装细节可以自行百度)

  2. 本地装好Maven (具体安装细节可以可以自行百度)

  3. 下载并安装好Intelli J IDEA开发者工具(具体安装细节可以可以自行百度 )

  4. git clone github.com/binarywang/… 到本地或者 直接下载源码到本地

  5. 用IDEA开发者工具打开该项目,然后打包

​编辑​

  1. java-testdata-generator项目整体源码逻辑不复杂,相信有点java基础的同学都能看明白其中生成银行卡号,手机号码,身份证号的逻辑。

  2. 如果项目上需要生成特定数据,比如 大于18岁的身份证号,移动的手机号码,或者 只要 特定银行的银行卡号,读者可以按照自己的需要对源码稍作调整即可实现。

  3. 打包完成后,可以把 target目录下的java-testdata-generator-1.1.2.jar 传到MeterSphere 【项目设置】》【文件管理】下

1662995915490.png

1662996159684.png

下面我们新创建一个接口自动化场景,添加一个自定义脚本,测试一下刚刚生成jar包。 1662996273742.png

详细代码如下:

import cn.binarywang.tools.generator.ChineseIDCardNumberGenerator;
import cn.binarywang.tools.generator.ChineseMobileNumberGenerator;
import cn.binarywang.tools.generator.bank.BankCardNumberGenerator;
//随机生成身份证
String id=ChineseIDCardNumberGenerator.getInstance().generate();


//随机生成手机号码
String mobilePhoneNo=ChineseMobileNumberGenerator.getInstance().generate();

//中国工商银行牡丹灵通卡借记卡:622200 开头的工行卡号
String bankCardId=BankCardNumberGenerator.getInstance().generateByPrefix(622200);
log.info(id);
log.info(mobilePhoneNo);
log.info(bankCardId); 上面的代码也可以被添加到前置脚本,后置脚本里。\

\

在接口自动化场景里维护好代码后,点【调试】,可以在控制台看到如下输出,说明测试数据生成成功:

1662996546154.png

 在很多实际项目中,需要的测试数据可能更复杂,比如生成各个主流银行的银行卡号,读者可以按照自己的需要对 github.com/binarywang/…

项目的源码进行调整修改,然后打包,上传到MeterSphere接口测试模块,供接口测试使用