Skip to content

Make Selenium Easy

And Keep It That Way

  • Home
  • Share
  • Toggle search form

Javafaker API – Generate Real-Time Fake Data – Faker Class

Posted on 02/19/2025 By admin

I remember when I used to generate some random data with alphabets and numbers which were meaningless words like “Bjhet”, “Hyiue” etc. Generating some random data helps you to eliminate boilerplate codes or unnecessary headaches of maintaining data.

For example:- If you need to register a user which requires first name, last name, age, address, etc. We used to generate some random data for these fields so that there is no need to pass data explicitly. But these data were meaningless although it serves the purpose.

Will be not it good if we could generate fake data that looks like real data? Something a real name like “Amod” or “John”. Yes, It is possible using Java Faker API.

Javafaker API is a Java library that provides utilities to generate pretty data for the showcase randomly. You can generate fake real data for name, address, city, state as per locale. If you want to get a random city name of US you can select US locale or if you want an Indian city use IND locale. Default locale it takes as “English”.

To use Javafaker library in your Java project we need to use the latest dependency of this library from the Maven central repo. For this post I have used the below version of this dependency:-

  com.github.javafaker javafaker 1.0.2

The fake class provides utility methods for generating fake strings, such as names, phone numbers, addresses. generate random strings with given patterns. Let’s see a sample program to generate some data.

package FakerClassExamples;

import com.github.javafaker.Faker;

public class FakerWithLocale {
        
        public static void main(String[] args) {
                
                // Create an object of Faker class with default locale i.e ENG
                Faker faker = new Faker();
                // To generate valid random first name
                System.out.println("First name is: "+faker.name().firstName());
                // To generate valid random last name
                System.out.println("Last name is: "+faker.name().lastName());
                // To generate valid random city name
                System.out.println("City name is: "+faker.address().cityName());
                // To generate valid random state name
                System.out.println("State name is: "+faker.address().state());
                // To generate valid random country name
                System.out.println("Country name is: "+faker.address().country());
                // To generate valid random cell number
                System.out.println("Cell number is: "+faker.phoneNumber().cellPhone());
                // To generate valid random animal name
                System.out.println("Animal name is: "+faker.animal().name());
                        
        }

}

First name is: Jay
Last name is: Mraz
City name is: Rashadburgh
State name is: Arkansas
Country name is: Bahrain
Cell number is: 958-668-7313
Animal name is: bee

Second run

First name is: Alyssa
Last name is: Carter
City name is: Jodyfort
State name is: Connecticut
Country name is: Puerto Rico
Cell number is: 1-546-542-1758
Animal name is: turtle 

We can see how well it gives you real-time fake data.

You need to pass a valid locale to the Faker constructor. You can find all supported locale here.

package FakerClassExamples;

import java.util.Locale;

import com.github.javafaker.Faker;

public class FakerWithIndiaLocale {
        
        public static void main(String[] args) {
                
                // Create an object of Faker class with default locale i.e ENG
                Faker faker = new Faker(new Locale("en-IND"));
                // To generate valid random first name
                System.out.println("First name is: "+faker.name().firstName());
                // To generate valid random last name
                System.out.println("Last name is: "+faker.name().lastName());
                // To generate valid random city name
                System.out.println("City name is: "+faker.address().cityName());
                // To generate valid random state name
                System.out.println("State name is: "+faker.address().state());
                // To generate valid random country name
                System.out.println("Country name is: "+faker.address().country());
                // To generate valid random cell number
                System.out.println("Cell number is: "+faker.phoneNumber().cellPhone());
                // To generate valid random animal name
                System.out.println("Animal name is: "+faker.animal().name());
                        
        }

}
First name is: Rageshwari
Last name is: Sethi
City name is: Kolkata
State name is: Dadar and Nagar Haveli
Country name is: Saint Vincent and the Grenadines
Cell number is: (063) 036-5884
Animal name is: minnow
===================================
First name is: Kin
Last name is: Mishra
City name is: Hyderabad
State name is: Tamil Nadu
Country name is: South Africa
Cell number is: 572.064.1603
Animal name is: walrus

You can see it generates random data belonging to the IND locale. I see a problem here for interdependent data like generating a city name of a state. I mean to get a city name from state Karnataka rather than any city name.

We will see some more concepts about Javafaker in the upcoming post.

You can clone above Git Repo from here.

You can subscribe to my YouTube channel RetargetCommon to learn from video tutorials.

If you have any doubt, feel free to comment below.If you like my posts, please like, comment, share and subscribe.#ThanksForReading

#HappyLearning

Uncategorized

Post navigation

Previous Post: XPath Method- string-length() – Usage in Locating Element
Next Post: Java Programs 16: Java Program to Find Length of String Without Using Length Method

Related Posts

Validate The Validation You Do – isEnabled() & isSelected() Methods in Selenium WebDriver – Make Selenium Easy Uncategorized
AfterBefore – Make Selenium Easy Uncategorized
Manual Testing Uncategorized
Authentication vs Authorization – Who vs Who+What Uncategorized
Untitled Diagram (7) – Make Selenium Easy Uncategorized
Part 4: Waits In Selenium: Fluent Wait Uncategorized

Recent Posts

  • Getting Started with Selenium 4: What Is New and How to Upgrade from Selenium 3
  • Manual Testing
  • Baby Steps To Become Efficient Selenium-Java Automation Tester
  • Features of Selenium 4.0.0 Release – Java Binding
  • Part 1: Handling Drop-down Created Using SELECT Tag In Selenium

Recent Comments

No comments to show.

Archives

  • April 2026
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • April 2024
  • March 2024
  • February 2024
  • December 2023
  • October 2023
  • August 2023
  • November 2022
  • September 2022
  • August 2022
  • July 2022
  • May 2022
  • March 2022
  • October 2021
  • April 2021
  • March 2021
  • January 2021
  • December 2020
  • October 2020
  • September 2020
  • August 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • May 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • January 2018

Categories

  • Getting Started
  • Uncategorized

Copyright © 2026 Make Selenium Easy.

Powered by PressBook Masonry Dark