1.新建項目
編寫代碼,導入必要的jar包,
右鍵點擊項目,然后export,選擇main函數,
package utils;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Random;
import com.github.javafaker.Faker;
public class GenerateId {
?? ?
?? ?public static void main(String[] args) {
?? ??? ?System.out.println(getEepidNumber());
?? ?}
?? ?
?? ?public static String getEepidNumber() {
?? ? ? ?SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
?? ? ? ?String formatStr = dateFormat.format(new Date());
?? ??? ?
?? ? ? ?System.out.println(formatStr);
? ? ? ? String HMS = formatStr.replace(":", "").trim();
?? ? ? ?System.out.println(HMS);
?? ? ? ?Faker faker = new Faker(new Locale("en", "US"));
? ? ? ? String newValue = "CB" + HMS + faker.regexify("[0-9]{1}");
? ? ? ? System.out.println(newValue);
? ? ? ? return newValue;
?? ?}
?? ?
?? ?public static String generateChinaId() {
?? ? ? ?int year =1970 +new Random().nextInt(30);
?? ? ? ?int month =1 +new Random().nextInt(12);
?? ? ? ?int day =1 +new Random().nextInt(28);
?? ??? ?String randomBirthday=String.format("%04d%02d%02d", year, month, day);
?? ??? ?
?? ? ? ?int order =1000 +new Random().nextInt(8999);
?? ? ? ?String randomOrder=String.valueOf(order);
?? ??? ?
?? ??? ?return "440981"+randomBirthday+randomOrder;
?? ?}
? ? public static String generateHKID() {
? ? ? ? String prefix = generateOneCharacter();
? ? ? ? String serial = generate6Number();
? ? ? ? String r = generateValidate(prefix, serial);
? ? ? ? return r;
? ? }
? ? public static String generateOneCharacter() {
? ? ? ? Random random = new Random();
? ? ? ? char upperCaseLetter = (char) ('A' + random.nextInt(26)); // 生成一個大寫字母 'A'-'Z'
? ? ? ? return upperCaseLetter+"";
? ? }
? ??
? ? public static String generate6Number() {
? ? ? ? int min = 100000;
? ? ? ? int max = 999999;
? ? ? ? int a ?= (int) (Math.random()*(max-min +1)) + 100000;
? ? ? ? return ""+a;
? ? }
? ??
? ? public static String generateValidate(String prefix, String serial) {
? ? ? ? String prefixU = prefix.toUpperCase();
? ? ? ? long value = 0;
? ? ? ? if (prefixU.length() == 2) {
? ? ? ? ? ? value += (prefixU.charAt(0) - 55) * 9 + (prefixU.charAt(1) - 55) * 8;
? ? ? ? } else if (prefixU.length() == 1) {
? ? ? ? ? ? value += 36 * 9 + (prefixU.charAt(0) - 55) * 8;
? ? ? ? }
? ? ? ? for (int i = 0; i < 6; i++) {
? ? ? ? ? ? value += Integer.parseInt(serial.substring(i, i + 1)) * (7 - i);
? ? ? ? }
? ? ? ? long reminder = value % 11;
? ? ? ? long validCheckDigit = 11 - reminder;
? ? ? ? String last = "";
? ? ? ? if ( validCheckDigit == 11) {
? ? ? ? ? ? last="0";
? ? ? ? }else if ( validCheckDigit == 10) {
? ? ? ? ? ? last="A";
? ? ? ? }else {
? ? ? ? ? ? last = validCheckDigit+"";
? ? ? ? }
? ? ? ? String result= prefix + serial + "(" + last + ")";
? ? ? ? return result;
? ? }
}
?
導出的jar包導入到jemeter中
在JSR223 Preprocessor 或者 Bean shell 中導入jar包的class,并調用方法
import utils.GenerateId;
String e = GenerateId.getEepidNumber();
log.info("e: " + e)
?
可以看到返回值
java文件打包成jar包且在jmeter中的應用-騰訊云開發者社區-騰訊云?