DataFaker là một thư viện dành cho Java và Kotlin để tạo dữ liệu giả, tự động generate data. Điều này rất hữu ích khi tạo dữ liệu thử nghiệm để điền vào cơ sở dữ liệu, để tạo dữ liệu cho thử nghiệm mang tính demo hoặc ẩn danh dữ liệu từ các thông tin dịch vụ nhạy cảm không cần thiết.
Thư viện DataFaker kế thừa và phát triển từ thư viện JavaFaker.
Thư viện này tạo dữ liệu giả tương tự như các trình tạo dữ liệu giả khác, chẳng hạn như:
Phiên bản mới nhất của Data Faker là 1.9.0 và được lưu trữ trên Maven Central.
<!-- https://mvnrepository.com/artifact/net.datafaker/datafaker -->
<dependency>
<groupId>net.datafaker</groupId>
<artifactId>datafaker</artifactId>
<version>1.9.0</version>
</dependency>
MarkupCopy
Website: https://www.datafaker.net/
GitHub: https://github.com/datafaker-net/datafaker
Để sử dụng Data Faker để tạo dữ liệu giả, bạn có thể sử dụng đoạn code sau làm ví dụ:
import net.datafaker.Faker;
Faker faker = new Faker();
//Thông tin người
String name = faker.name().fullName();
String firstName = faker.name().firstName();
String lastName = faker.name().lastName();
//Thông tin đường
String streetAddress = faker.address().streetAddress();
JavaCopy
Như vậy là các bạn chỉ cần tạo đối tượng class Faker. Sau đó lấy chấm gọi dùng các hàm nó viết sẵn để lấy dữ liệu giả thôi.
Bạn có thể sử dụng data của các nước khác nhau thông qua Locate trong Java. Mặc định là English tương ứng ký hiệu locate là “en“.
Ví dụ mình muốn dùng tiếng Việt thì dùng ký hiệu “vi“.
package com.anhtester.testcases;
import net.datafaker.Faker;
import org.testng.annotations.Test;
import java.util.Locale;
@Test
public void testDataFaker01() {
Faker faker = new Faker(new Locale("vi"));
String computer = faker.computer().windows();
String name = faker.name().fullName();
String fullAddress = faker.address().fullAddress();
String email = faker.internet().emailAddress();
String password = faker.internet().password();
System.out.println(computer);
System.out.println(name);
System.out.println(fullAddress);
System.out.println(email);
System.out.println(password);
}
JavaCopy
Kết quả:
Windows 11
Nguyễn Vân
Apt. 387 9700 Thảo Valley, Phú Thọ, MS WDHV 0ZR
nguyen.tham@hotmail.com
1e8cj6oj53cf
===============================================
Default Suite
Total tests run: 1, Passes: 1, Failures: 0, Skips: 0
===============================================
Log fileCopy
Lưu ý: class Locate là của Java
Các loại data khác bạn có thể xem thêm tại đây Fake Data Providers
Các mã code Locate khác xem tại đây: https://www.science.co.il/language/Locale-codes.php
🔆 Nâng cao hơn là bạn viết class utils hoặc helpers riêng để sau này gọi dùng cho tiện.DataFakerHelpers.java
package com.anhtester.helpers;
import com.anhtester.constants.ConstantGlobal;
import net.datafaker.Faker;
import java.util.Locale;
public class DataFakerHelpers {
private static Faker faker;
public static Faker createFaker() {
faker = new Faker(new Locale(ConstantGlobal.LOCATE));
return faker;
}
public static Faker createFakerByLocate(String locateName) {
faker = new Faker(new Locale(locateName));
return faker;
}
public static Faker getFaker() {
if (faker == null) {
faker = createFaker();
}
return faker;
}
public static Faker getFakerByLocate(String locateName) {
faker = createFakerByLocate(locateName);
return faker;
}
public static void setFaker(Faker faker) {
DataFakerHelpers.faker = faker;
}
}
JavaCopy
Note: ConstantGlobal
là class lưu các biến static được khai báo giá trị cứng hoặc lấy từ file config properties
public final static String LOCATE = PropertiesHelpers.getValue("LOCATE");
JavaCopy
Gọi lại sử dụng:
@Test
public void testDataFaker02() {
String cityName1 = DataFakerHelpers.getFaker().address().cityName();
String cityName2 = DataFakerHelpers.getFakerByLocate("vi").address().cityName();
System.out.println(cityName1);
System.out.println(cityName2);
}
link
https://anhtester.com/blog/selenium-java/tao-du-lieu-gia-voi-datafaker
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE