{"id":3496,"date":"2024-09-02T05:20:11","date_gmt":"2024-09-02T05:20:11","guid":{"rendered":"https:\/\/www.rcvtechnologies.com\/blog\/?p=3496"},"modified":"2024-12-13T11:32:19","modified_gmt":"2024-12-13T11:32:19","slug":"how-to-generate-realistic-and-random-data-for-testing-in-selenium-java-automation-by-using-faker-library","status":"publish","type":"post","link":"https:\/\/www.rcvtechnologies.com\/blog\/how-to-generate-realistic-and-random-data-for-testing-in-selenium-java-automation-by-using-faker-library\/","title":{"rendered":"How to generate realistic and random data for testing in selenium Java  automation ,By using faker library."},"content":{"rendered":"<h2 class=\"blog-itmind-inner-head\"><b>Import faker library through maven repository.<\/b><\/h2>\n<p><b>\u00a0Maven &#8211; <\/b><span style=\"font-weight: 400;\">Maven is a powerful project management tool that is based on POM (project object model). It is used for project build, dependency, and documentation.\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Visit<\/span><span style=\"font-weight: 400;\"> https:\/\/mvnrepository.com\/<\/span><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Search\u00a0 Java faker dependency.<\/span><\/li>\n<\/ul>\n<p><b>Dependency &#8211; <\/b><span style=\"font-weight: 400;\">Maven dependencies are used to manage project dependencies in a Maven-based Java project. They are specified in the pom.xml file of your project.\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Copy the java faker dependency.<\/span><\/li>\n<li aria-level=\"1\">&lt;!&#8211; https:\/\/mvnrepository.com\/artifact\/com.github.javafaker\/javafaker &#8211;&gt;<br \/>\n&lt;dependency&gt;<br \/>\n&lt;groupId&gt;com.github.javafaker&lt;\/groupId&gt;<br \/>\n&lt;artifactId&gt;javafaker&lt;\/artifactId&gt;<br \/>\n&lt;version&gt;1.0.2&lt;\/version&gt;<br \/>\n&lt;\/dependency&gt;<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Add the above faker dependency into the pom.xml file of the project.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Import faker package in your selenium IDE.\u00a0 import com.github.javafaker.Faker;<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Create the instance of the faker\u00a0 Faker faker = new Faker();<\/span><\/li>\n<\/ul>\n<div class=\"dm-code-snippet dark default  dm-normal-version\" style=\"background-color:#abb8c3;\" snippet-height=\"500px\">\n\t\t\t<div class=\"control-language\">\n                <div class=\"dm-buttons\">\n                    <div class=\"dm-buttons-left\">\n                        <div class=\"dm-button-snippet red-button\"><\/div>\n                        <div class=\"dm-button-snippet orange-button\"><\/div>\n                        <div class=\"dm-button-snippet green-button\"><\/div>\n                    <\/div>\n                    <div class=\"dm-buttons-right\">\n                        <a id=\"dm-copy-raw-code\">\n                        <span class=\"dm-copy-text\">Copy Code<\/span>\n                        <span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span>\n                        <span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a>\n                    <\/div>\n                <\/div>\n                <pre class=\"no-line-numbers\"><code id=\"dm-code-raw\" class=\"wrap language-php\"><\/p>\n<pre class=\"dm-pre-admin-side\">package pages;\r\n\r\nimport com.github.javafaker.Faker;\r\nimport java.text.SimpleDateFormat;\r\nimport java.util.Date;\r\nimport java.util.concurrent.TimeUnit;\r\nimport org.openqa.selenium.By;\r\nimport org.openqa.selenium.WebDriver;\r\nimport org.openqa.selenium.WebElement;\r\nimport org.openqa.selenium.chrome.ChromeDriver;\r\n\r\npublic class FakerClass {\r\n\r\npublic static void main(String[] args) {\r\n\r\n\/\/ TODO Auto-generated method stub\r\nSystem.setProperty(\"Webdriver.chromedriver\",\"C:\\\\Users\\\\pc\\\\Downloads\\\\chromedriver-win64 (1).zip\\\\chromedriver-win64\\\\chromedriver.exe\");\r\nWebDriver driver = new ChromeDriver();\r\ndriver.get(\"https:\/\/practice.expandtesting.com\/inputs\");\r\nFaker faker = new Faker();\r\nint fakeNumber = faker.number().numberBetween(1, 100);\r\nString randomnumber = Integer.toString(fakeNumber);\r\nString fakeText = faker.artist().name();\r\nString Password = faker.internet().password();\r\nDate randomFutureDate = faker.date().future(1825, TimeUnit.DAYS);\r\nSimpleDateFormat dateFormat = new SimpleDateFormat(\"MM-DD-YYYY\");\r\nString Calendardate = dateFormat.format(randomFutureDate);\r\n\r\nWebElement Number = driver.findElement(By.xpath(\"\/\/input[@id='input-number']\"));\r\nNumber.sendKeys(randomnumber);\r\n\r\nWebElement Text = driver.findElement(By.xpath(\"\/\/input[@id='input-text']\"));\r\nText.sendKeys(fakeText);\r\n\r\nWebElement Password1 = driver.findElement(By.xpath(\"\/\/input[@id='input-password']\"));\r\nPassword1.sendKeys(Password);\r\n\r\nWebElement Calendar = driver.findElement(By.xpath(\"\/\/input[@id='input-date']\"));\r\nCalendar.sendKeys(Calendardate);\r\n\r\nWebElement Display = driver.findElement(By.xpath(\"\/\/button[@id='btn-display-inputs']\"));\r\nDisplay.click();\r\n\r\n}\r\n\r\n}<\/pre>\n<p><\/code><\/pre>\n\t\t\t<\/div>\n        <\/div>\n<p><span style=\"font-weight: 400;\">\/\/You can add more input fields as per your requirement.<\/span><\/p>\n<p>\/\/<span style=\"font-weight: 400;\">Compile and run the test as usual. The Faker library will generate realistic test data each time the test is executed.\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<\/span><\/p>\n<p><b>Output:-\u00a0<\/b><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-3503\" src=\"https:\/\/www.rcvtechnologies.com\/blog\/wp-content\/uploads\/2024\/09\/blog.png\" alt=\"\" width=\"100%\" srcset=\"https:\/\/www.rcvtechnologies.com\/blog\/wp-content\/uploads\/2024\/09\/blog.png 943w, https:\/\/www.rcvtechnologies.com\/blog\/wp-content\/uploads\/2024\/09\/blog-300x190.png 300w, https:\/\/www.rcvtechnologies.com\/blog\/wp-content\/uploads\/2024\/09\/blog-768x485.png 768w\" sizes=\"(max-width: 943px) 100vw, 943px\" \/><\/p>\n<h2 class=\"blog-itmind-inner-head\"><b>Benefits of faker package in selenium<\/b><\/h2>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Improved Test Coverage: By using a variety of inputs, you can more effectively test how your application handles different kinds of data, including edge cases.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Quick Test Setup: Faker reduces the time spent on preparing test data. This is particularly beneficial when setting up tests that require a large amount of varied data, such as performance or load tests.<\/span><\/li>\n<li aria-level=\"1\"><span style=\"font-weight: 400;\">Real-World Testing: With realistic and varied data, you can simulate real-world scenarios more effectively. This is crucial for ensuring that your application will behave as expected when used by actual users.<\/span><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Import faker library through maven repository. \u00a0Maven &#8211; Maven is a powerful project management tool that is based on POM (project object model). It is used for project build, dependency, and documentation.\u00a0 Visit https:\/\/mvnrepository.com\/\u00a0\u00a0\u00a0 Search\u00a0 Java faker dependency. Dependency &#8211; Maven dependencies are used to manage project dependencies in a Maven-based Java project. They are [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":3578,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[331,173],"tags":[],"class_list":["post-3496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-selenium","category-tech"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/3496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=3496"}],"version-history":[{"count":18,"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/3496\/revisions"}],"predecessor-version":[{"id":3532,"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/3496\/revisions\/3532"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/media\/3578"}],"wp:attachment":[{"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=3496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=3496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rcvtechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=3496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}