├── .gitignore ├── .idea └── .gitignore ├── Drivers ├── Downloaded_By_WDM │ ├── chromedriver │ │ └── mac64 │ │ │ └── 106.0.5249.61 │ │ │ └── chromedriver │ └── resolution.properties ├── chromedriver └── chromedriver_incompatible ├── README.md ├── pom.xml ├── pom_Before_Allure.xml ├── reports └── allure │ └── allure-results │ ├── 0080b69e-236c-4c1c-ab91-bd1393c4a768-container.json │ ├── 027858c3-55b8-4af3-9b64-7a3019a4e1a2-container.json │ ├── 049ea8e6-0dd8-4b92-8206-a3cf8c521569-result.json │ ├── 0840e3f9-4519-4e63-a397-995040ab5ae5-container.json │ ├── 0aa8932c-5733-4b36-bf2b-06ff685da481-result.json │ ├── 0ca7db9b-42c2-4f9c-bb5c-c5cdfe6af630-container.json │ ├── 0dfd11c3-69e7-4e03-a579-11b8fdfbfff2-container.json │ ├── 1142a41e-7483-4573-ac0d-3e2a7334a649-container.json │ ├── 24992b38-2567-4c65-8aeb-26ec483a6e3c-container.json │ ├── 252d29d3-ab3a-45a7-abba-dc5d0a9237a8-container.json │ ├── 2d27e942-eac4-44fb-900f-823aed310995-result.json │ ├── 30af2acc-5499-4c65-9b78-573fb1f7b558-result.json │ ├── 36fa4667-b245-4543-9cf2-f2c6cadb5d4b-result.json │ ├── 372016f3-eb6e-46ff-954a-99cd567ca0eb-container.json │ ├── 3b3b8cd5-090d-4cfb-be2b-ee5c895fc339-container.json │ ├── 483adc1e-52ce-4da9-8e8d-573979bc4f81-container.json │ ├── 49048be4-d040-427f-99a7-9d7a67d7b4bf-result.json │ ├── 49dde3b4-9452-4148-af86-37c29ab9b8e2-container.json │ ├── 4b80977c-90a0-4bf5-ab55-c9d500e9953d-result.json │ ├── 4dac9cde-4204-4886-9ee8-7025a7af1bdc-container.json │ ├── 4f4d84ac-ba57-459e-9c96-a5a9e2c61c3f-container.json │ ├── 508aec51-8a18-493c-ab1d-612f627aeac4-container.json │ ├── 50cb6d89-5453-4d8a-96db-43e8c8d730eb-result.json │ ├── 53908110-3c48-432b-b47d-3b7a73aaca1a-result.json │ ├── 54e3cba1-0d9a-42a9-936a-9fde24a8cb4d-container.json │ ├── 57420f49-3ed3-479e-8b00-ceb09a378920-container.json │ ├── 5df0cb5c-c976-429a-abb1-8d7edfaa6c8d-container.json │ ├── 64f97078-8bda-4161-a20f-00bdfd93b230-container.json │ ├── 6a3d187b-883e-41cc-b752-a263c81f15b0-container.json │ ├── 6d5df971-d6f7-4ba0-a177-3c2b2c5cfb78-container.json │ ├── 71750343-bd0c-422e-ad41-a7d7280fb4ee-container.json │ ├── 7176c4a5-3b80-4e87-8236-6db22ef555cc-result.json │ ├── 719113cc-6783-4663-a6a1-806eac79104f-container.json │ ├── 719fcffb-5ab3-40bc-920a-6f56083e58c6-container.json │ ├── 74466923-f1b3-4dfb-9756-b8b18efd0c2b-container.json │ ├── 76463208-c44c-410b-b9af-8bb1361601cc-container.json │ ├── 765554e2-1f6c-42a1-8d70-d6cd13a7c932-container.json │ ├── 7daf3fca-2705-4097-9764-a497d81b4076-result.json │ ├── 7fd66439-ce89-4b7f-8455-27bed0158b21-container.json │ ├── 8238da60-c02e-4124-9901-fc1db3f97e40-container.json │ ├── 8282066e-5842-4bc0-94a0-1c228800dc87-result.json │ ├── 82e76705-8f86-4fe8-a335-c02cb7160c8c-container.json │ ├── 8451262a-5d15-4ea3-970d-90d94f3d6b31-result.json │ ├── 87a329b3-08ce-405d-a79f-0c07472c1e1f-container.json │ ├── 89a00fee-f3de-49bc-b10d-63b065fd23ec-container.json │ ├── 8c3cae35-e012-47d2-b632-44465dda85b7-container.json │ ├── 8deb2646-7d32-4e93-998c-30fb82eed449-result.json │ ├── 8e7a27c7-d059-4a47-9abc-46d8946bd165-result.json │ ├── 8fa03760-de48-4b74-a53a-493e44869b66-container.json │ ├── 90d86983-5edc-408f-a8b9-b14cab3205dd-container.json │ ├── 97f142c0-861b-4c5f-be70-01a97fbc43a9-result.json │ ├── 98ddb0d9-a690-4f6e-8472-978b16c27d5f-container.json │ ├── a4d7fd7c-d7a2-4add-8a23-a1bb1f2c551e-container.json │ ├── a5882147-f110-4ea7-9a98-4be3323c7512-container.json │ ├── a64b090e-dc31-4101-baae-d55c7def5f2f-container.json │ ├── a6e36c69-136e-4f7d-85ac-cf47b0b217b2-container.json │ ├── aa5df57e-befb-4c6d-8ba5-40bebad7f418-container.json │ ├── aae83b46-6330-4b8a-bccf-bda946a6bdca-result.json │ ├── acd3a6a9-64a9-4fbf-a18c-4a9170beefc0-container.json │ ├── aedc0c82-3b93-4e6b-bef5-006e15ad0e14-container.json │ ├── b364f286-5d93-4188-8e9b-49f19f3ed447-container.json │ ├── b5592e62-3ec4-43ba-81f4-875814cde24d-result.json │ ├── b749400c-ad53-4b14-8749-7bb3fae50425-container.json │ ├── b8c899b3-2244-47a2-b49c-31faf15a43cf-container.json │ ├── ba317469-0752-46a6-bcc9-75fac35247e4-container.json │ ├── ba7a0b68-8484-4662-a897-38221f4271ba-container.json │ ├── bbf8a319-0224-4bf0-9b88-442e4e6edb39-result.json │ ├── bd910f64-5eb0-46c1-9576-6cce0180d447-container.json │ ├── bfd95bf2-d31b-4a60-ad8b-d3686169b6a8-container.json │ ├── c33ced1a-7219-43bb-a166-f6ec8f854b89-container.json │ ├── ca7378ec-9dac-42ea-af03-805a47c15ce1-container.json │ ├── cb8676c4-05bb-403a-a051-b087a3017d9c-container.json │ ├── cc42831c-1d5b-404a-a679-6baccc5ad97e-result.json │ ├── cdfca791-3ba8-4993-ac87-3c4e32f14ad5-container.json │ ├── d0e8bcf6-cf5e-4ca8-8b4c-5630a1dc7172-result.json │ ├── d22c6cb0-d8dd-4d7a-8909-c0a5b22379c0-container.json │ ├── e633a207-1696-4b99-b54f-ee17a235ef1c-container.json │ ├── edca718e-7a4d-4649-85cf-cf6d29213225-container.json │ ├── ef04e1aa-4b94-4235-b055-de112364652d-container.json │ ├── f7f9cb77-89be-4d2c-bd15-54f8e81d2899-result.json │ └── fdccc2f8-4493-4ae3-b26b-03bc556b0913-container.json ├── screenshots_On_Failure ├── CHROME │ ├── _03_SearchTest_searchWithPartialMatch.png │ ├── _04_AddToCartTest_addToCartFromStorePage.png │ └── _05_Atomic_LoginTest_loginDuringCheckout.png └── FIREFOX │ ├── _04_AddToCartTest_addToCartFromStorePage.png │ ├── _05_Atomic_LoginTest_loginDuringCheckout.png │ ├── _06_Atomic_CheckoutTest_guestCheckoutUsingDirectBankTransfer.png │ ├── _06_Atomic_CheckoutTest_loginAndCheckoutUsingDirectBankTransfer.png │ └── _07_DataProvider_AddToCartTest_addToCartFeaturedProducts.png └── src └── test ├── java └── com │ └── learning │ ├── Z_learningsFromStart │ ├── _01_Sec_05_Automate_MyFirstTC.java │ ├── _02_Sec_09_01_POM_MyFirstTC.java │ ├── _02_Sec_09_02_POM_MyFirstTC.java │ ├── _02_Sec_09_03_POM_MyFirstTC.java │ ├── _02_Sec_09_04_POM_MyFirstTC.java │ ├── _02_Sec_09_05_POM_MyFirstTC.java │ ├── _03_Sec_10_01_DO_MyFirstTC.java │ ├── _03_Sec_10_02_DO_MyFirstTC.java │ ├── _03_Sec_10_03_DO_MyFirstTC.java │ ├── _03_Sec_10_04_DO_MyFirstTC.java │ ├── _03_Sec_10_05_DO_MyFirstTC.java │ ├── _03_Sec_10_06_DO_MyFirstTC.java │ ├── _03_Sec_10_07_DO_MyFirstTC.java │ ├── _04_Sec_11_01_Sync_MyFirstTC.java │ ├── _05_Sec_12_01_TO_MyFirstTC.java │ ├── _06_Sec_16_01_Maven_MyFirstTC.java │ └── _07_Sec_20_01_Parallel_Exec_MyFirstTC.java │ └── pom │ ├── api │ ├── ApiRequest.java │ ├── SpecBuilder.java │ └── actions │ │ ├── CartApi.java │ │ └── SignupApi.java │ ├── base │ ├── BasePage.java │ └── BaseTest.java │ ├── dataproviders │ └── DataProviders.java │ ├── enums │ ├── BrowserType.java │ └── EnvType.java │ ├── factory │ ├── ChromeDriverManager.java │ ├── DriverManager.java │ ├── DriverManagerFactory.java │ ├── DriverManager_BeforeFactoryDesignPattern.java │ └── FirefoxDriverManager.java │ ├── objects │ ├── BillingAddress.java │ ├── Product.java │ └── User.java │ ├── pages │ ├── CartPage.java │ ├── CheckoutPage.java │ ├── HomePage.java │ ├── StorePage.java │ └── components │ │ ├── MyHeader.java │ │ └── ProductThumbnail.java │ ├── tests │ ├── _01_MyFirstTestCase.java │ ├── _02_NavigationTest.java │ ├── _03_SearchTest.java │ ├── _04_AddToCartTest.java │ ├── _05_Atomic_LoginTest.java │ ├── _06_Atomic_CheckoutTest.java │ └── _07_DataProvider_AddToCartTest.java │ └── utils │ ├── ConfigLoader.java │ ├── CookieUtils.java │ ├── FakerUtils.java │ ├── JacksonUtils.java │ └── PropertyUtils.java └── resources ├── allure.properties ├── config-qa.properties ├── config-stg.properties ├── config-uat.properties ├── myBillingAddress.json ├── products.json └── runner ├── 01_testng_run_package.xml ├── 02_testng_run_class.xml ├── 03_testng_run_package_pass_browser_name.xml ├── 04_testng_run_package_pass_multiple_browsers_name.xml └── 05_testng_run_package_parallel_exec_multiple_browsers.xml /.gitignore: -------------------------------------------------------------------------------- 1 | #/** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | # * Learnings from Other Courses - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 10 | # */ 11 | #/***************************************************/ 12 | 13 | .idea 14 | # Drivers 15 | target 16 | 17 | 18 | # /***************************************************/ 19 | 20 | #target/ 21 | #!.mvn/wrapper/maven-wrapper.jar 22 | #!**/src/main/**/target/ 23 | #!**/src/test/**/target/ 24 | # 25 | #### IntelliJ IDEA ### 26 | #.idea/modules.xml 27 | #.idea/jarRepositories.xml 28 | #.idea/compiler.xml 29 | #.idea/libraries/ 30 | #*.iws 31 | #*.iml 32 | #*.ipr 33 | # 34 | #### Eclipse ### 35 | #.apt_generated 36 | #.classpath 37 | #.factorypath 38 | #.project 39 | #.settings 40 | #.springBeans 41 | #.sts4-cache 42 | # 43 | #### NetBeans ### 44 | #/nbproject/private/ 45 | #/nbbuild/ 46 | #/dist/ 47 | #/nbdist/ 48 | #/.nb-gradle/ 49 | #build/ 50 | #!**/src/main/**/build/ 51 | #!**/src/test/**/build/ 52 | # 53 | #### VS Code ### 54 | #.vscode/ 55 | # 56 | #### Mac OS ### 57 | #.DS_Store -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /Drivers/Downloaded_By_WDM/chromedriver/mac64/106.0.5249.61/chromedriver: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/Drivers/Downloaded_By_WDM/chromedriver/mac64/106.0.5249.61/chromedriver -------------------------------------------------------------------------------- /Drivers/Downloaded_By_WDM/resolution.properties: -------------------------------------------------------------------------------- 1 | #WebDriverManager Resolution Cache 2 | #Thu Oct 06 23:39:05 IST 2022 3 | chrome=106 4 | chrome106-ttl=23\:39\:05 07/10/2022 IST 5 | chrome-ttl=00\:39\:05 07/10/2022 IST 6 | chrome106=106.0.5249.61 7 | -------------------------------------------------------------------------------- /Drivers/chromedriver: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/Drivers/chromedriver -------------------------------------------------------------------------------- /Drivers/chromedriver_incompatible: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/Drivers/chromedriver_incompatible -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Test Automation Framework - UDEMY (OC) - Selenium WebDriver, Java 2 | Automation Testing | Web+API | Java | Selenium WebDriver | RestAssured | OOPS (Inheritance, Polymorphism, Abstraction, Encapsulation)| TestNG | Maven | Allure Reports | Design Patterns (Page Object Model, Singleton, Fluent, Builder) | Jenkins | Data-Driven Testing using JSON file 3 | 4 | ------------------------------------------------------------------------------------------------------------------------ 5 | # Course: Selenium Java Test Framework & Best Practices - Masterclass 6 | # Tutor: Omprakash Chavan 7 | ------------------------------------------------------------------------------------------------------------------------ 8 | # Document(s) 9 | * https://github.com/stars/rajatt95/Documents 10 | # Other Learnings from this course 11 | * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 12 | # Learnings from Tutor's Other course(s) 13 | * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 14 | ------------------------------------------------------------------------------------------------------------------------ 15 | ![image](https://user-images.githubusercontent.com/26399692/204085910-4077c9d1-23b7-4750-833f-adb94485b744.png) 16 | ![image](https://user-images.githubusercontent.com/26399692/204085927-d2df7ab3-4528-4b16-9ae2-c3247893d0bf.png) 17 | ![image](https://user-images.githubusercontent.com/26399692/204085954-b036d3b0-8fd4-4e29-a298-7a525c2725c7.png) 18 | ![image](https://user-images.githubusercontent.com/26399692/204085967-9784945e-945f-446a-a670-cc3434b29560.png) 19 | ![image](https://user-images.githubusercontent.com/26399692/204086020-b6bdd2d5-df27-4ec9-a11f-3570858e675c.png) 20 | ![image](https://user-images.githubusercontent.com/26399692/204086028-4124a354-e5c0-4414-9893-9815e51e127b.png) 21 | ![image](https://user-images.githubusercontent.com/26399692/204086051-fee536ae-e336-4a78-9a2f-47d2d505b72f.png) 22 | ![image](https://user-images.githubusercontent.com/26399692/204085674-8f2da9dd-8226-4368-b3cd-0964aaefa387.png) 23 | ![image](https://user-images.githubusercontent.com/26399692/204085688-33f9bdc9-0f19-4962-ac26-a08f12b66ca7.png) 24 | ![image](https://user-images.githubusercontent.com/26399692/204085737-9dd94f3c-1827-46a6-a550-642b59fb0071.png) 25 | ![image](https://user-images.githubusercontent.com/26399692/204085756-1340affb-8542-4400-a470-555d65aa5f07.png) 26 | ![image](https://user-images.githubusercontent.com/26399692/204085772-81e55625-4abc-42eb-874f-b281b84c0459.png) 27 | ![image](https://user-images.githubusercontent.com/26399692/204085779-392e20da-724d-4d26-8b8a-c8990f09970a.png) 28 | ![image](https://user-images.githubusercontent.com/26399692/204085792-7d6e142d-6461-43cf-ae99-d03af9443b01.png) 29 | ![image](https://user-images.githubusercontent.com/26399692/204085812-7dadc9f2-5a58-47a9-bab2-1ff3c1d79824.png) 30 | ![image](https://user-images.githubusercontent.com/26399692/204085824-e55e3028-c93f-471c-904c-5aca9eae5d8d.png) 31 | ![image](https://user-images.githubusercontent.com/26399692/204085837-4677fe5c-b207-4d89-8d16-01f999761ef5.png) 32 | ![image](https://user-images.githubusercontent.com/26399692/204085846-13a21a25-6fcd-4c71-8220-2cbf7d573d45.png) 33 | 34 | ------------------------------------------------------------------------------------------------------------------------ 35 | -------------------------------------------------------------------------------- /pom_Before_Allure.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | com.learning 8 | TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 9 | 1.0-SNAPSHOT 10 | 11 | 12 | 11 13 | 11 14 | 15 | 16 | UTF-8 17 | 18 | 20 | 21 | 05_testng_run_package_parallel_exec_multiple_browsers 22 | 23 | 24 | 25 | 26 | 27 | org.apache.maven.plugins 28 | maven-surefire-plugin 29 | 3.0.0-M7 30 | 31 | 32 | 33 | 34 | 35 | 36 | src/test/resources/runner/${suiteFile}.xml 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | org.seleniumhq.selenium 53 | selenium-java 54 | 4.4.0 55 | 56 | 57 | 58 | org.testng 59 | testng 60 | 7.6.1 61 | 62 | 63 | 64 | 65 | 66 | com.fasterxml.jackson.core 67 | jackson-databind 68 | 2.13.4 69 | 70 | 71 | 72 | 73 | io.github.bonigarcia 74 | webdrivermanager 75 | 5.3.0 76 | 77 | 78 | 79 | 80 | io.rest-assured 81 | rest-assured 82 | 5.2.0 83 | test 84 | 85 | 86 | 87 | 88 | org.jsoup 89 | jsoup 90 | 1.15.3 91 | 92 | 93 | 94 | 95 | com.github.javafaker 96 | javafaker 97 | 1.0.2 98 | 99 | 100 | 101 | 102 | ru.yandex.qatools.ashot 103 | ashot 104 | 1.5.4 105 | 106 | 107 | 108 | 109 | io.qameta.allure 110 | allure-testng 111 | 2.19.0 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | -------------------------------------------------------------------------------- /reports/allure/allure-results/0080b69e-236c-4c1c-ab91-bd1393c4a768-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"0080b69e-236c-4c1c-ab91-bd1393c4a768","name":"com.learning.pom.base.BaseTest.startDriver","children":["b5592e62-3ec4-43ba-81f4-875814cde24d"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454881630,"stop":1669454886100}],"afters":[],"start":1669454881630,"stop":1669454886101} -------------------------------------------------------------------------------- /reports/allure/allure-results/027858c3-55b8-4af3-9b64-7a3019a4e1a2-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"027858c3-55b8-4af3-9b64-7a3019a4e1a2","name":"com.learning.pom.tests._03_SearchTest","children":["50cb6d89-5453-4d8a-96db-43e8c8d730eb"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454942739} -------------------------------------------------------------------------------- /reports/allure/allure-results/049ea8e6-0dd8-4b92-8206-a3cf8c521569-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"049ea8e6-0dd8-4b92-8206-a3cf8c521569","historyId":"34689d3179927c1415324394d913096e","fullName":"com.learning.pom.tests._02_NavigationTest.navigateFromHomeToStoreUsingMainMenu","labels":[{"name":"package","value":"com.learning.pom.tests._02_NavigationTest"},{"name":"testClass","value":"com.learning.pom.tests._02_NavigationTest"},{"name":"testMethod","value":"navigateFromHomeToStoreUsingMainMenu"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._02_NavigationTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-2(28)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"},{"name":"story","value":"ALLURE - Navigation using the links : Home and Store"},{"name":"epic","value":"ALLURE - AskOmDch UI"},{"name":"feature","value":"ALLURE - Navigation"}],"links":[{"name":"https://example.org","type":"custom"},{"name":"allure","type":"mylink"},{"name":"4897","url":"https://example.org/browse/4897","type":"issue"},{"name":"12345","url":"https://example.org/browse/12345","type":"tms"}],"name":"ALLURE - Navigate From Home To Store Using Main Menu","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","description":"ALLURE - Description -> Navigate From Home To Store Using Main Menu","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454803363,"stop":1669454808251},{"name":"getMyHeader","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454808253,"stop":1669454808253},{"name":"navigateToStoreUsingMenu","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454808253,"stop":1669454809191}],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"}],"start":1669454803361,"stop":1669454812926} -------------------------------------------------------------------------------- /reports/allure/allure-results/0840e3f9-4519-4e63-a397-995040ab5ae5-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"0840e3f9-4519-4e63-a397-995040ab5ae5","name":"com.learning.pom.tests._07_DataProvider_AddToCartTest","children":["8451262a-5d15-4ea3-970d-90d94f3d6b31","7daf3fca-2705-4097-9764-a497d81b4076","8282066e-5842-4bc0-94a0-1c228800dc87","d0e8bcf6-cf5e-4ca8-8b4c-5630a1dc7172","2d27e942-eac4-44fb-900f-823aed310995"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454942740} -------------------------------------------------------------------------------- /reports/allure/allure-results/0aa8932c-5733-4b36-bf2b-06ff685da481-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"0aa8932c-5733-4b36-bf2b-06ff685da481","historyId":"25f7b09cbb56433fd22962cf3a038138","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-1(25)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454825414,"stop":1669454826224}],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"},{"name":"arg0","value":"Product [id=1215, name=Blue Shoes]"}],"start":1669454825411,"stop":1669454828753} -------------------------------------------------------------------------------- /reports/allure/allure-results/0ca7db9b-42c2-4f9c-bb5c-c5cdfe6af630-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"0ca7db9b-42c2-4f9c-bb5c-c5cdfe6af630","name":"com.learning.pom.tests._05_Atomic_LoginTest","children":["36fa4667-b245-4543-9cf2-f2c6cadb5d4b"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454890058} -------------------------------------------------------------------------------- /reports/allure/allure-results/0dfd11c3-69e7-4e03-a579-11b8fdfbfff2-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"0dfd11c3-69e7-4e03-a579-11b8fdfbfff2","name":"com.learning.pom.base.BaseTest.quitDriver","children":["50cb6d89-5453-4d8a-96db-43e8c8d730eb"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454817228,"stop":1669454817437}],"start":1669454817227,"stop":1669454817437} -------------------------------------------------------------------------------- /reports/allure/allure-results/1142a41e-7483-4573-ac0d-3e2a7334a649-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"1142a41e-7483-4573-ac0d-3e2a7334a649","name":"com.learning.pom.tests._06_Atomic_CheckoutTest","children":["f7f9cb77-89be-4d2c-bd15-54f8e81d2899","8e7a27c7-d059-4a47-9abc-46d8946bd165"],"befores":[],"afters":[],"start":1669454768415,"stop":1669454890058} -------------------------------------------------------------------------------- /reports/allure/allure-results/24992b38-2567-4c65-8aeb-26ec483a6e3c-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"24992b38-2567-4c65-8aeb-26ec483a6e3c","name":"com.learning.pom.base.BaseTest.quitDriver","children":["aae83b46-6330-4b8a-bccf-bda946a6bdca"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454880439,"stop":1669454881566}],"start":1669454880439,"stop":1669454881570} -------------------------------------------------------------------------------- /reports/allure/allure-results/252d29d3-ab3a-45a7-abba-dc5d0a9237a8-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"252d29d3-ab3a-45a7-abba-dc5d0a9237a8","name":"com.learning.pom.base.BaseTest.quitDriver","children":["8deb2646-7d32-4e93-998c-30fb82eed449"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454907808,"stop":1669454907931}],"start":1669454907808,"stop":1669454907931} -------------------------------------------------------------------------------- /reports/allure/allure-results/2d27e942-eac4-44fb-900f-823aed310995-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"2d27e942-eac4-44fb-900f-823aed310995","historyId":"ad3499c49737f0dc2e34bd9574b192a1","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-1(26)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454937417,"stop":1669454939088}],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"},{"name":"arg0","value":"Product [id=1196, name=Blue Tshirt]"}],"start":1669454937413,"stop":1669454942614} -------------------------------------------------------------------------------- /reports/allure/allure-results/30af2acc-5499-4c65-9b78-573fb1f7b558-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"30af2acc-5499-4c65-9b78-573fb1f7b558","historyId":"cc699afc0e2e84e7c83a4a7c5bab98c0","fullName":"com.learning.pom.tests._06_Atomic_CheckoutTest.guestCheckoutUsingDirectBankTransfer","labels":[{"name":"package","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"testClass","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"testMethod","value":"guestCheckoutUsingDirectBankTransfer"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-1(26)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"guestCheckoutUsingDirectBankTransfer","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"}],"start":1669454826632,"stop":1669454867950} -------------------------------------------------------------------------------- /reports/allure/allure-results/36fa4667-b245-4543-9cf2-f2c6cadb5d4b-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"36fa4667-b245-4543-9cf2-f2c6cadb5d4b","historyId":"41ee6973b8ff0298ad86723a8c3c63b5","fullName":"com.learning.pom.tests._05_Atomic_LoginTest.loginDuringCheckout","labels":[{"name":"package","value":"com.learning.pom.tests._05_Atomic_LoginTest"},{"name":"testClass","value":"com.learning.pom.tests._05_Atomic_LoginTest"},{"name":"testMethod","value":"loginDuringCheckout"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._05_Atomic_LoginTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-1(25)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"loginDuringCheckout","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"}],"start":1669454792336,"stop":1669454819329} -------------------------------------------------------------------------------- /reports/allure/allure-results/372016f3-eb6e-46ff-954a-99cd567ca0eb-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"372016f3-eb6e-46ff-954a-99cd567ca0eb","name":"com.learning.pom.base.BaseTest.startDriver","children":["4b80977c-90a0-4bf5-ab55-c9d500e9953d"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454830122,"stop":1669454838348}],"afters":[],"start":1669454830122,"stop":1669454838349} -------------------------------------------------------------------------------- /reports/allure/allure-results/3b3b8cd5-090d-4cfb-be2b-ee5c895fc339-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"3b3b8cd5-090d-4cfb-be2b-ee5c895fc339","name":"com.learning.pom.base.BaseTest.startDriver","children":["f7f9cb77-89be-4d2c-bd15-54f8e81d2899"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454795019,"stop":1669454799095}],"afters":[],"start":1669454795018,"stop":1669454799096} -------------------------------------------------------------------------------- /reports/allure/allure-results/483adc1e-52ce-4da9-8e8d-573979bc4f81-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"483adc1e-52ce-4da9-8e8d-573979bc4f81","name":"com.learning.pom.base.BaseTest.startDriver","children":["49048be4-d040-427f-99a7-9d7a67d7b4bf"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454768749,"stop":1669454781491}],"afters":[],"start":1669454768746,"stop":1669454781491} -------------------------------------------------------------------------------- /reports/allure/allure-results/49048be4-d040-427f-99a7-9d7a67d7b4bf-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"49048be4-d040-427f-99a7-9d7a67d7b4bf","historyId":"5c87ae7b3d04ea89c0e161a35c347f33","fullName":"com.learning.pom.tests._04_AddToCartTest.addToCartFromStorePage","labels":[{"name":"package","value":"com.learning.pom.tests._04_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._04_AddToCartTest"},{"name":"testMethod","value":"addToCartFromStorePage"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._04_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-2(28)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFromStorePage","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"}],"start":1669454781502,"stop":1669454794677} -------------------------------------------------------------------------------- /reports/allure/allure-results/49dde3b4-9452-4148-af86-37c29ab9b8e2-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"49dde3b4-9452-4148-af86-37c29ab9b8e2","name":"com.learning.pom.tests._02_NavigationTest","children":["bbf8a319-0224-4bf0-9b88-442e4e6edb39"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454890057} -------------------------------------------------------------------------------- /reports/allure/allure-results/4b80977c-90a0-4bf5-ab55-c9d500e9953d-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"4b80977c-90a0-4bf5-ab55-c9d500e9953d","historyId":"c6d7813183747e6f8de3a9e8de48304b","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-1(25)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"broken","statusDetails":{"known":false,"muted":false,"flaky":false,"message":"Expected condition failed: waiting for element to be clickable: By.cssSelector: a[title='View cart'] (tried for 15 second(s) with 500 milliseconds interval)\nBuild info: version: '4.4.0', revision: 'e5c75ed026a'\nSystem info: host: 'rajats-MacBook-Air.local', ip: '2405:201:5800:88a3:a573:b9f5:4b8f:184b%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '11.0.13'\nDriver info: org.openqa.selenium.firefox.FirefoxDriver\nCapabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 105.0.3, moz:accessibilityChecks: false, moz:buildID: 20221007134813, moz:debuggerAddress: 127.0.0.1:61530, moz:geckodriverVersion: 0.32.0, moz:headless: false, moz:platformVersion: 22.1.0, moz:processID: 50153, moz:profile: /var/folders/qn/dvd3xyw14tq..., moz:shutdownTimeout: 60000, moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick: true, moz:windowless: false, pageLoadStrategy: normal, platformName: MAC, proxy: Proxy(), se:cdp: ws://127.0.0.1:61530/devtoo..., se:cdpVersion: 85.0, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}\nSession ID: f4a65613-798b-423f-8428-2e6efa06f1e8","trace":"org.openqa.selenium.TimeoutException: Expected condition failed: waiting for element to be clickable: By.cssSelector: a[title='View cart'] (tried for 15 second(s) with 500 milliseconds interval)\nBuild info: version: '4.4.0', revision: 'e5c75ed026a'\nSystem info: host: 'rajats-MacBook-Air.local', ip: '2405:201:5800:88a3:a573:b9f5:4b8f:184b%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '11.0.13'\nDriver info: org.openqa.selenium.firefox.FirefoxDriver\nCapabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 105.0.3, moz:accessibilityChecks: false, moz:buildID: 20221007134813, moz:debuggerAddress: 127.0.0.1:61530, moz:geckodriverVersion: 0.32.0, moz:headless: false, moz:platformVersion: 22.1.0, moz:processID: 50153, moz:profile: /var/folders/qn/dvd3xyw14tq..., moz:shutdownTimeout: 60000, moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick: true, moz:windowless: false, pageLoadStrategy: normal, platformName: MAC, proxy: Proxy(), se:cdp: ws://127.0.0.1:61530/devtoo..., se:cdpVersion: 85.0, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}\nSession ID: f4a65613-798b-423f-8428-2e6efa06f1e8\n\tat org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:87)\n\tat org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:231)\n\tat com.learning.pom.base.BasePage.waitForElementToBeClickable(BasePage.java:85)\n\tat com.learning.pom.pages.components.ProductThumbnail.clickViewCart(ProductThumbnail.java:50)\n\tat com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts(_07_DataProvider_AddToCartTest.java:58)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\tat org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)\n\tat org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:677)\n\tat org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:221)\n\tat org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)\n\tat org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:962)\n\tat org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:194)\n\tat org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:148)\n\tat org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat java.base/java.lang.Thread.run(Thread.java:834)\n"},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454838395,"stop":1669454839275}],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"},{"name":"arg0","value":"Product [id=1209, name=Denim Blue Jeans]"}],"start":1669454838393,"stop":1669454855898} -------------------------------------------------------------------------------- /reports/allure/allure-results/4dac9cde-4204-4886-9ee8-7025a7af1bdc-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"4dac9cde-4204-4886-9ee8-7025a7af1bdc","name":"com.learning.pom.base.BaseTest.startDriver","children":["bbf8a319-0224-4bf0-9b88-442e4e6edb39"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454786593,"stop":1669454790549}],"afters":[],"start":1669454786593,"stop":1669454790551} -------------------------------------------------------------------------------- /reports/allure/allure-results/4f4d84ac-ba57-459e-9c96-a5a9e2c61c3f-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"4f4d84ac-ba57-459e-9c96-a5a9e2c61c3f","name":"com.learning.pom.base.BaseTest.startDriver","children":["8282066e-5842-4bc0-94a0-1c228800dc87"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454909155,"stop":1669454914313}],"afters":[],"start":1669454909155,"stop":1669454914313} -------------------------------------------------------------------------------- /reports/allure/allure-results/508aec51-8a18-493c-ab1d-612f627aeac4-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"508aec51-8a18-493c-ab1d-612f627aeac4","name":"com.learning.pom.base.BaseTest.startDriver","children":["8deb2646-7d32-4e93-998c-30fb82eed449"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454857460,"stop":1669454879834}],"afters":[],"start":1669454857460,"stop":1669454879834} -------------------------------------------------------------------------------- /reports/allure/allure-results/50cb6d89-5453-4d8a-96db-43e8c8d730eb-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"50cb6d89-5453-4d8a-96db-43e8c8d730eb","historyId":"9b8e238b9f1ffe840e81d16afd619c51","fullName":"com.learning.pom.tests._03_SearchTest.searchWithPartialMatch","labels":[{"name":"package","value":"com.learning.pom.tests._03_SearchTest"},{"name":"testClass","value":"com.learning.pom.tests._03_SearchTest"},{"name":"testMethod","value":"searchWithPartialMatch"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._03_SearchTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-1(26)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"searchWithPartialMatch","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"}],"start":1669454801831,"stop":1669454817196} -------------------------------------------------------------------------------- /reports/allure/allure-results/53908110-3c48-432b-b47d-3b7a73aaca1a-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"53908110-3c48-432b-b47d-3b7a73aaca1a","historyId":"c80aaf3ecc303b0df5bba97e7543ca23","fullName":"com.learning.pom.tests._03_SearchTest.searchWithPartialMatch","labels":[{"name":"package","value":"com.learning.pom.tests._03_SearchTest"},{"name":"testClass","value":"com.learning.pom.tests._03_SearchTest"},{"name":"testMethod","value":"searchWithPartialMatch"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._03_SearchTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-1(25)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"searchWithPartialMatch","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"}],"start":1669454780923,"stop":1669454788154} -------------------------------------------------------------------------------- /reports/allure/allure-results/54e3cba1-0d9a-42a9-936a-9fde24a8cb4d-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"54e3cba1-0d9a-42a9-936a-9fde24a8cb4d","name":"com.learning.pom.base.BaseTest.quitDriver","children":["97f142c0-861b-4c5f-be70-01a97fbc43a9"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454873083,"stop":1669454873613}],"start":1669454873083,"stop":1669454873613} -------------------------------------------------------------------------------- /reports/allure/allure-results/57420f49-3ed3-479e-8b00-ceb09a378920-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"57420f49-3ed3-479e-8b00-ceb09a378920","name":"com.learning.pom.base.BaseTest.startDriver","children":["36fa4667-b245-4543-9cf2-f2c6cadb5d4b"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454788827,"stop":1669454792273}],"afters":[],"start":1669454788827,"stop":1669454792273} -------------------------------------------------------------------------------- /reports/allure/allure-results/5df0cb5c-c976-429a-abb1-8d7edfaa6c8d-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"5df0cb5c-c976-429a-abb1-8d7edfaa6c8d","name":"com.learning.pom.base.BaseTest.quitDriver","children":["bbf8a319-0224-4bf0-9b88-442e4e6edb39"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454794247,"stop":1669454795014}],"start":1669454794247,"stop":1669454795014} -------------------------------------------------------------------------------- /reports/allure/allure-results/64f97078-8bda-4161-a20f-00bdfd93b230-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"64f97078-8bda-4161-a20f-00bdfd93b230","name":"com.learning.pom.base.BaseTest.startDriver","children":["d0e8bcf6-cf5e-4ca8-8b4c-5630a1dc7172"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454919764,"stop":1669454926699}],"afters":[],"start":1669454919764,"stop":1669454926699} -------------------------------------------------------------------------------- /reports/allure/allure-results/6a3d187b-883e-41cc-b752-a263c81f15b0-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"6a3d187b-883e-41cc-b752-a263c81f15b0","name":"com.learning.pom.base.BaseTest.quitDriver","children":["4b80977c-90a0-4bf5-ab55-c9d500e9953d"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454855937,"stop":1669454864694}],"start":1669454855937,"stop":1669454864695} -------------------------------------------------------------------------------- /reports/allure/allure-results/6d5df971-d6f7-4ba0-a177-3c2b2c5cfb78-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"6d5df971-d6f7-4ba0-a177-3c2b2c5cfb78","name":"com.learning.pom.base.BaseTest.startDriver","children":["cc42831c-1d5b-404a-a679-6baccc5ad97e"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454813097,"stop":1669454822670}],"afters":[],"start":1669454813097,"stop":1669454822671} -------------------------------------------------------------------------------- /reports/allure/allure-results/71750343-bd0c-422e-ad41-a7d7280fb4ee-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"71750343-bd0c-422e-ad41-a7d7280fb4ee","name":"com.learning.pom.base.BaseTest.startDriver","children":["7176c4a5-3b80-4e87-8236-6db22ef555cc"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454768749,"stop":1669454779785}],"afters":[],"start":1669454768746,"stop":1669454779788} -------------------------------------------------------------------------------- /reports/allure/allure-results/7176c4a5-3b80-4e87-8236-6db22ef555cc-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"7176c4a5-3b80-4e87-8236-6db22ef555cc","historyId":"dd716e23f6ea1cc4d3d1ca35e3749ce3","fullName":"com.learning.pom.tests._04_AddToCartTest.addToCartFromStorePage","labels":[{"name":"package","value":"com.learning.pom.tests._04_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._04_AddToCartTest"},{"name":"testMethod","value":"addToCartFromStorePage"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._04_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-2(27)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFromStorePage","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"}],"start":1669454780923,"stop":1669454785930} -------------------------------------------------------------------------------- /reports/allure/allure-results/719113cc-6783-4663-a6a1-806eac79104f-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"719113cc-6783-4663-a6a1-806eac79104f","name":"com.learning.pom.tests._02_NavigationTest","children":["049ea8e6-0dd8-4b92-8206-a3cf8c521569"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454942739} -------------------------------------------------------------------------------- /reports/allure/allure-results/719fcffb-5ab3-40bc-920a-6f56083e58c6-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"719fcffb-5ab3-40bc-920a-6f56083e58c6","name":"com.learning.pom.base.BaseTest.startDriver","children":["50cb6d89-5453-4d8a-96db-43e8c8d730eb"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454768749,"stop":1669454801800}],"afters":[],"start":1669454768746,"stop":1669454801802} -------------------------------------------------------------------------------- /reports/allure/allure-results/74466923-f1b3-4dfb-9756-b8b18efd0c2b-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"74466923-f1b3-4dfb-9756-b8b18efd0c2b","name":"Regression Tests for UI - CHROME","children":["49048be4-d040-427f-99a7-9d7a67d7b4bf","50cb6d89-5453-4d8a-96db-43e8c8d730eb","049ea8e6-0dd8-4b92-8206-a3cf8c521569","cc42831c-1d5b-404a-a679-6baccc5ad97e","30af2acc-5499-4c65-9b78-573fb1f7b558","8deb2646-7d32-4e93-998c-30fb82eed449","8451262a-5d15-4ea3-970d-90d94f3d6b31","7daf3fca-2705-4097-9764-a497d81b4076","8282066e-5842-4bc0-94a0-1c228800dc87","d0e8bcf6-cf5e-4ca8-8b4c-5630a1dc7172","2d27e942-eac4-44fb-900f-823aed310995"],"befores":[],"afters":[],"start":1669454768411,"stop":1669454942738} -------------------------------------------------------------------------------- /reports/allure/allure-results/76463208-c44c-410b-b9af-8bb1361601cc-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"76463208-c44c-410b-b9af-8bb1361601cc","name":"com.learning.pom.tests._06_Atomic_CheckoutTest","children":["30af2acc-5499-4c65-9b78-573fb1f7b558","8deb2646-7d32-4e93-998c-30fb82eed449"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454942740} -------------------------------------------------------------------------------- /reports/allure/allure-results/765554e2-1f6c-42a1-8d70-d6cd13a7c932-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"765554e2-1f6c-42a1-8d70-d6cd13a7c932","name":"com.learning.pom.base.BaseTest.quitDriver","children":["36fa4667-b245-4543-9cf2-f2c6cadb5d4b"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454819354,"stop":1669454820072}],"start":1669454819353,"stop":1669454820072} -------------------------------------------------------------------------------- /reports/allure/allure-results/7daf3fca-2705-4097-9764-a497d81b4076-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"7daf3fca-2705-4097-9764-a497d81b4076","historyId":"3e4da2d3104b186bb0c068bdd497574b","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-1(26)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454902297,"stop":1669454905133}],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"},{"name":"arg0","value":"Product [id=1209, name=Denim Blue Jeans]"}],"start":1669454902295,"stop":1669454908998} -------------------------------------------------------------------------------- /reports/allure/allure-results/7fd66439-ce89-4b7f-8455-27bed0158b21-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"7fd66439-ce89-4b7f-8455-27bed0158b21","name":"com.learning.pom.base.BaseTest.startDriver","children":["7daf3fca-2705-4097-9764-a497d81b4076"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454895962,"stop":1669454902057}],"afters":[],"start":1669454895962,"stop":1669454902058} -------------------------------------------------------------------------------- /reports/allure/allure-results/8238da60-c02e-4124-9901-fc1db3f97e40-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"8238da60-c02e-4124-9901-fc1db3f97e40","name":"com.learning.pom.base.BaseTest.startDriver","children":["0aa8932c-5733-4b36-bf2b-06ff685da481"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454820394,"stop":1669454825270}],"afters":[],"start":1669454820394,"stop":1669454825270} -------------------------------------------------------------------------------- /reports/allure/allure-results/8282066e-5842-4bc0-94a0-1c228800dc87-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"8282066e-5842-4bc0-94a0-1c228800dc87","historyId":"6876304e0639bf3df0329628283a4765","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-1(26)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454914334,"stop":1669454916219}],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"},{"name":"arg0","value":"Product [id=1205, name=Basic Blue Jeans]"}],"start":1669454914332,"stop":1669454919646} -------------------------------------------------------------------------------- /reports/allure/allure-results/82e76705-8f86-4fe8-a335-c02cb7160c8c-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"82e76705-8f86-4fe8-a335-c02cb7160c8c","name":"com.learning.pom.tests._07_DataProvider_AddToCartTest","children":["0aa8932c-5733-4b36-bf2b-06ff685da481","4b80977c-90a0-4bf5-ab55-c9d500e9953d","97f142c0-861b-4c5f-be70-01a97fbc43a9","aae83b46-6330-4b8a-bccf-bda946a6bdca","b5592e62-3ec4-43ba-81f4-875814cde24d"],"befores":[],"afters":[],"start":1669454768415,"stop":1669454890059} -------------------------------------------------------------------------------- /reports/allure/allure-results/8451262a-5d15-4ea3-970d-90d94f3d6b31-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"8451262a-5d15-4ea3-970d-90d94f3d6b31","historyId":"81aaa201d889699d6618c8e3f900d919","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-1(26)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454887149,"stop":1669454890875}],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"},{"name":"arg0","value":"Product [id=1215, name=Blue Shoes]"}],"start":1669454887149,"stop":1669454895777} -------------------------------------------------------------------------------- /reports/allure/allure-results/87a329b3-08ce-405d-a79f-0c07472c1e1f-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"87a329b3-08ce-405d-a79f-0c07472c1e1f","name":"Test Automation Suite for Application - AskOmDch UI","children":["74466923-f1b3-4dfb-9756-b8b18efd0c2b","edca718e-7a4d-4649-85cf-cf6d29213225"],"befores":[],"afters":[],"start":1669454768319,"stop":1669454942752} -------------------------------------------------------------------------------- /reports/allure/allure-results/89a00fee-f3de-49bc-b10d-63b065fd23ec-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"89a00fee-f3de-49bc-b10d-63b065fd23ec","name":"com.learning.pom.base.BaseTest.quitDriver","children":["7176c4a5-3b80-4e87-8236-6db22ef555cc"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454785961,"stop":1669454786572}],"start":1669454785961,"stop":1669454786572} -------------------------------------------------------------------------------- /reports/allure/allure-results/8c3cae35-e012-47d2-b632-44465dda85b7-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"8c3cae35-e012-47d2-b632-44465dda85b7","name":"com.learning.pom.base.BaseTest.startDriver","children":["2d27e942-eac4-44fb-900f-823aed310995"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454932475,"stop":1669454937396}],"afters":[],"start":1669454932475,"stop":1669454937396} -------------------------------------------------------------------------------- /reports/allure/allure-results/8deb2646-7d32-4e93-998c-30fb82eed449-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"8deb2646-7d32-4e93-998c-30fb82eed449","historyId":"8df5d33f8e1395a78db1f4215cdc4336","fullName":"com.learning.pom.tests._06_Atomic_CheckoutTest.loginAndCheckoutUsingDirectBankTransfer","labels":[{"name":"package","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"testClass","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"testMethod","value":"loginAndCheckoutUsingDirectBankTransfer"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-2(28)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"loginAndCheckoutUsingDirectBankTransfer","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"}],"start":1669454879878,"stop":1669454907785} -------------------------------------------------------------------------------- /reports/allure/allure-results/8e7a27c7-d059-4a47-9abc-46d8946bd165-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"8e7a27c7-d059-4a47-9abc-46d8946bd165","historyId":"4ea5a350922bd9edcac4be8c18fbcd0a","fullName":"com.learning.pom.tests._06_Atomic_CheckoutTest.loginAndCheckoutUsingDirectBankTransfer","labels":[{"name":"package","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"testClass","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"testMethod","value":"loginAndCheckoutUsingDirectBankTransfer"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-2(27)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"loginAndCheckoutUsingDirectBankTransfer","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"}],"start":1669454824082,"stop":1669454838661} -------------------------------------------------------------------------------- /reports/allure/allure-results/8fa03760-de48-4b74-a53a-493e44869b66-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"8fa03760-de48-4b74-a53a-493e44869b66","name":"com.learning.pom.base.BaseTest.startDriver","children":["aae83b46-6330-4b8a-bccf-bda946a6bdca"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454873615,"stop":1669454877738}],"afters":[],"start":1669454873615,"stop":1669454877738} -------------------------------------------------------------------------------- /reports/allure/allure-results/90d86983-5edc-408f-a8b9-b14cab3205dd-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"90d86983-5edc-408f-a8b9-b14cab3205dd","name":"com.learning.pom.base.BaseTest.quitDriver","children":["0aa8932c-5733-4b36-bf2b-06ff685da481"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454828809,"stop":1669454830112}],"start":1669454828809,"stop":1669454830112} -------------------------------------------------------------------------------- /reports/allure/allure-results/97f142c0-861b-4c5f-be70-01a97fbc43a9-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"97f142c0-861b-4c5f-be70-01a97fbc43a9","historyId":"e0eddc60c66148a899d6899467bd2e53","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-1(25)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454869842,"stop":1669454870450}],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"},{"name":"arg0","value":"Product [id=1205, name=Basic Blue Jeans]"}],"start":1669454869840,"stop":1669454873063} -------------------------------------------------------------------------------- /reports/allure/allure-results/98ddb0d9-a690-4f6e-8472-978b16c27d5f-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"98ddb0d9-a690-4f6e-8472-978b16c27d5f","name":"com.learning.pom.base.BaseTest.startDriver","children":["30af2acc-5499-4c65-9b78-573fb1f7b558"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454817442,"stop":1669454826572}],"afters":[],"start":1669454817442,"stop":1669454826574} -------------------------------------------------------------------------------- /reports/allure/allure-results/a4d7fd7c-d7a2-4add-8a23-a1bb1f2c551e-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"a4d7fd7c-d7a2-4add-8a23-a1bb1f2c551e","name":"com.learning.pom.tests._04_AddToCartTest","children":["49048be4-d040-427f-99a7-9d7a67d7b4bf"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454942740} -------------------------------------------------------------------------------- /reports/allure/allure-results/a5882147-f110-4ea7-9a98-4be3323c7512-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"a5882147-f110-4ea7-9a98-4be3323c7512","name":"com.learning.pom.base.BaseTest.startDriver","children":["97f142c0-861b-4c5f-be70-01a97fbc43a9"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454864734,"stop":1669454869821}],"afters":[],"start":1669454864734,"stop":1669454869822} -------------------------------------------------------------------------------- /reports/allure/allure-results/a64b090e-dc31-4101-baae-d55c7def5f2f-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"a64b090e-dc31-4101-baae-d55c7def5f2f","name":"com.learning.pom.base.BaseTest.startDriver","children":["53908110-3c48-432b-b47d-3b7a73aaca1a"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454768749,"stop":1669454779785}],"afters":[],"start":1669454768746,"stop":1669454779788} -------------------------------------------------------------------------------- /reports/allure/allure-results/a6e36c69-136e-4f7d-85ac-cf47b0b217b2-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"a6e36c69-136e-4f7d-85ac-cf47b0b217b2","name":"com.learning.pom.tests._04_AddToCartTest","children":["7176c4a5-3b80-4e87-8236-6db22ef555cc"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454890058} -------------------------------------------------------------------------------- /reports/allure/allure-results/aa5df57e-befb-4c6d-8ba5-40bebad7f418-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"aa5df57e-befb-4c6d-8ba5-40bebad7f418","name":"com.learning.pom.base.BaseTest.quitDriver","children":["d0e8bcf6-cf5e-4ca8-8b4c-5630a1dc7172"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454932356,"stop":1669454932467}],"start":1669454932356,"stop":1669454932467} -------------------------------------------------------------------------------- /reports/allure/allure-results/aae83b46-6330-4b8a-bccf-bda946a6bdca-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"aae83b46-6330-4b8a-bccf-bda946a6bdca","historyId":"a47f1e2078c012c06bd9fb08eef52a2a","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-1(25)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454877750,"stop":1669454878345}],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"},{"name":"arg0","value":"Product [id=1198, name=Anchor Bracelet]"}],"start":1669454877749,"stop":1669454880436} -------------------------------------------------------------------------------- /reports/allure/allure-results/acd3a6a9-64a9-4fbf-a18c-4a9170beefc0-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"acd3a6a9-64a9-4fbf-a18c-4a9170beefc0","name":"com.learning.pom.base.BaseTest.quitDriver","children":["49048be4-d040-427f-99a7-9d7a67d7b4bf"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454794698,"stop":1669454794870}],"start":1669454794698,"stop":1669454794870} -------------------------------------------------------------------------------- /reports/allure/allure-results/aedc0c82-3b93-4e6b-bef5-006e15ad0e14-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"aedc0c82-3b93-4e6b-bef5-006e15ad0e14","name":"com.learning.pom.tests._03_SearchTest","children":["53908110-3c48-432b-b47d-3b7a73aaca1a"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454890058} -------------------------------------------------------------------------------- /reports/allure/allure-results/b364f286-5d93-4188-8e9b-49f19f3ed447-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"b364f286-5d93-4188-8e9b-49f19f3ed447","name":"com.learning.pom.base.BaseTest.startDriver","children":["8451262a-5d15-4ea3-970d-90d94f3d6b31"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454880034,"stop":1669454887141}],"afters":[],"start":1669454880034,"stop":1669454887141} -------------------------------------------------------------------------------- /reports/allure/allure-results/b5592e62-3ec4-43ba-81f4-875814cde24d-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"b5592e62-3ec4-43ba-81f4-875814cde24d","historyId":"d03175ef99285157442073eb1218e5c","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-1(25)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454886123,"stop":1669454886924}],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"},{"name":"arg0","value":"Product [id=1196, name=Blue Tshirt]"}],"start":1669454886121,"stop":1669454889246} -------------------------------------------------------------------------------- /reports/allure/allure-results/b749400c-ad53-4b14-8749-7bb3fae50425-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"b749400c-ad53-4b14-8749-7bb3fae50425","name":"com.learning.pom.base.BaseTest.quitDriver","children":["2d27e942-eac4-44fb-900f-823aed310995"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454942628,"stop":1669454942736}],"start":1669454942628,"stop":1669454942736} -------------------------------------------------------------------------------- /reports/allure/allure-results/b8c899b3-2244-47a2-b49c-31faf15a43cf-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"b8c899b3-2244-47a2-b49c-31faf15a43cf","name":"com.learning.pom.base.BaseTest.quitDriver","children":["30af2acc-5499-4c65-9b78-573fb1f7b558"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454867992,"stop":1669454880004}],"start":1669454867992,"stop":1669454880004} -------------------------------------------------------------------------------- /reports/allure/allure-results/ba317469-0752-46a6-bcc9-75fac35247e4-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"ba317469-0752-46a6-bcc9-75fac35247e4","name":"com.learning.pom.base.BaseTest.quitDriver","children":["f7f9cb77-89be-4d2c-bd15-54f8e81d2899"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454818284,"stop":1669454818792}],"start":1669454818284,"stop":1669454818792} -------------------------------------------------------------------------------- /reports/allure/allure-results/ba7a0b68-8484-4662-a897-38221f4271ba-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"ba7a0b68-8484-4662-a897-38221f4271ba","name":"com.learning.pom.base.BaseTest.quitDriver","children":["8451262a-5d15-4ea3-970d-90d94f3d6b31"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454895785,"stop":1669454895958}],"start":1669454895785,"stop":1669454895958} -------------------------------------------------------------------------------- /reports/allure/allure-results/bbf8a319-0224-4bf0-9b88-442e4e6edb39-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"bbf8a319-0224-4bf0-9b88-442e4e6edb39","historyId":"c8646209ac976dac3989503c47454988","fullName":"com.learning.pom.tests._02_NavigationTest.navigateFromHomeToStoreUsingMainMenu","labels":[{"name":"package","value":"com.learning.pom.tests._02_NavigationTest"},{"name":"testClass","value":"com.learning.pom.tests._02_NavigationTest"},{"name":"testMethod","value":"navigateFromHomeToStoreUsingMainMenu"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._02_NavigationTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-2(27)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"},{"name":"story","value":"ALLURE - Navigation using the links : Home and Store"},{"name":"epic","value":"ALLURE - AskOmDch UI"},{"name":"feature","value":"ALLURE - Navigation"}],"links":[{"name":"https://example.org","type":"custom"},{"name":"allure","type":"mylink"},{"name":"4897","url":"https://example.org/browse/4897","type":"issue"},{"name":"12345","url":"https://example.org/browse/12345","type":"tms"}],"name":"ALLURE - Navigate From Home To Store Using Main Menu","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","description":"ALLURE - Description -> Navigate From Home To Store Using Main Menu","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454791777,"stop":1669454792734},{"name":"getMyHeader","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454792739,"stop":1669454792739},{"name":"navigateToStoreUsingMenu","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454792741,"stop":1669454793497}],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"}],"start":1669454790819,"stop":1669454794136} -------------------------------------------------------------------------------- /reports/allure/allure-results/bd910f64-5eb0-46c1-9576-6cce0180d447-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"bd910f64-5eb0-46c1-9576-6cce0180d447","name":"com.learning.pom.base.BaseTest.quitDriver","children":["7daf3fca-2705-4097-9764-a497d81b4076"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454909005,"stop":1669454909153}],"start":1669454909005,"stop":1669454909153} -------------------------------------------------------------------------------- /reports/allure/allure-results/bfd95bf2-d31b-4a60-ad8b-d3686169b6a8-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"bfd95bf2-d31b-4a60-ad8b-d3686169b6a8","name":"com.learning.pom.base.BaseTest.quitDriver","children":["049ea8e6-0dd8-4b92-8206-a3cf8c521569"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454812955,"stop":1669454813092}],"start":1669454812955,"stop":1669454813092} -------------------------------------------------------------------------------- /reports/allure/allure-results/c33ced1a-7219-43bb-a166-f6ec8f854b89-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"c33ced1a-7219-43bb-a166-f6ec8f854b89","name":"com.learning.pom.base.BaseTest.startDriver","children":["8e7a27c7-d059-4a47-9abc-46d8946bd165"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454818796,"stop":1669454824062}],"afters":[],"start":1669454818796,"stop":1669454824062} -------------------------------------------------------------------------------- /reports/allure/allure-results/ca7378ec-9dac-42ea-af03-805a47c15ce1-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"ca7378ec-9dac-42ea-af03-805a47c15ce1","name":"com.learning.pom.base.BaseTest.quitDriver","children":["cc42831c-1d5b-404a-a679-6baccc5ad97e"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454857344,"stop":1669454857457}],"start":1669454857344,"stop":1669454857457} -------------------------------------------------------------------------------- /reports/allure/allure-results/cb8676c4-05bb-403a-a051-b087a3017d9c-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"cb8676c4-05bb-403a-a051-b087a3017d9c","name":"com.learning.pom.tests._05_Atomic_LoginTest","children":["cc42831c-1d5b-404a-a679-6baccc5ad97e"],"befores":[],"afters":[],"start":1669454768414,"stop":1669454942740} -------------------------------------------------------------------------------- /reports/allure/allure-results/cc42831c-1d5b-404a-a679-6baccc5ad97e-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"cc42831c-1d5b-404a-a679-6baccc5ad97e","historyId":"95b6ff45fab3651c8b52b5fff7de1664","fullName":"com.learning.pom.tests._05_Atomic_LoginTest.loginDuringCheckout","labels":[{"name":"package","value":"com.learning.pom.tests._05_Atomic_LoginTest"},{"name":"testClass","value":"com.learning.pom.tests._05_Atomic_LoginTest"},{"name":"testMethod","value":"loginDuringCheckout"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._05_Atomic_LoginTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-2(28)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"loginDuringCheckout","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"}],"start":1669454823024,"stop":1669454857318} -------------------------------------------------------------------------------- /reports/allure/allure-results/cdfca791-3ba8-4993-ac87-3c4e32f14ad5-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"cdfca791-3ba8-4993-ac87-3c4e32f14ad5","name":"com.learning.pom.base.BaseTest.quitDriver","children":["53908110-3c48-432b-b47d-3b7a73aaca1a"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454788204,"stop":1669454788817}],"start":1669454788204,"stop":1669454788817} -------------------------------------------------------------------------------- /reports/allure/allure-results/d0e8bcf6-cf5e-4ca8-8b4c-5630a1dc7172-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"d0e8bcf6-cf5e-4ca8-8b4c-5630a1dc7172","historyId":"4294b50e75c5f0d318459bab72b854c0","fullName":"com.learning.pom.tests._07_DataProvider_AddToCartTest.addToCartFeaturedProducts","labels":[{"name":"package","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testClass","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"testMethod","value":"addToCartFeaturedProducts"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - CHROME"},{"name":"subSuite","value":"com.learning.pom.tests._07_DataProvider_AddToCartTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - CHROME-1(26)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"addToCartFeaturedProducts","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[{"name":"load","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1669454926708,"stop":1669454928826}],"attachments":[],"parameters":[{"name":"browser_testng","value":"CHROME"},{"name":"arg0","value":"Product [id=1198, name=Anchor Bracelet]"}],"start":1669454926708,"stop":1669454932349} -------------------------------------------------------------------------------- /reports/allure/allure-results/d22c6cb0-d8dd-4d7a-8909-c0a5b22379c0-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"d22c6cb0-d8dd-4d7a-8909-c0a5b22379c0","name":"com.learning.pom.base.BaseTest.quitDriver","children":["8282066e-5842-4bc0-94a0-1c228800dc87"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454919650,"stop":1669454919762}],"start":1669454919650,"stop":1669454919762} -------------------------------------------------------------------------------- /reports/allure/allure-results/e633a207-1696-4b99-b54f-ee17a235ef1c-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"e633a207-1696-4b99-b54f-ee17a235ef1c","name":"com.learning.pom.base.BaseTest.quitDriver","children":["8e7a27c7-d059-4a47-9abc-46d8946bd165"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454838673,"stop":1669454839311}],"start":1669454838673,"stop":1669454839311} -------------------------------------------------------------------------------- /reports/allure/allure-results/edca718e-7a4d-4649-85cf-cf6d29213225-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"edca718e-7a4d-4649-85cf-cf6d29213225","name":"Regression Tests for UI - FIREFOX","children":["7176c4a5-3b80-4e87-8236-6db22ef555cc","53908110-3c48-432b-b47d-3b7a73aaca1a","bbf8a319-0224-4bf0-9b88-442e4e6edb39","36fa4667-b245-4543-9cf2-f2c6cadb5d4b","f7f9cb77-89be-4d2c-bd15-54f8e81d2899","8e7a27c7-d059-4a47-9abc-46d8946bd165","0aa8932c-5733-4b36-bf2b-06ff685da481","4b80977c-90a0-4bf5-ab55-c9d500e9953d","97f142c0-861b-4c5f-be70-01a97fbc43a9","aae83b46-6330-4b8a-bccf-bda946a6bdca","b5592e62-3ec4-43ba-81f4-875814cde24d"],"befores":[],"afters":[],"start":1669454768411,"stop":1669454889983} -------------------------------------------------------------------------------- /reports/allure/allure-results/ef04e1aa-4b94-4235-b055-de112364652d-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"ef04e1aa-4b94-4235-b055-de112364652d","name":"com.learning.pom.base.BaseTest.quitDriver","children":["b5592e62-3ec4-43ba-81f4-875814cde24d"],"description":"","befores":[],"afters":[{"name":"quitDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454889322,"stop":1669454889979}],"start":1669454889321,"stop":1669454889979} -------------------------------------------------------------------------------- /reports/allure/allure-results/f7f9cb77-89be-4d2c-bd15-54f8e81d2899-result.json: -------------------------------------------------------------------------------- 1 | {"uuid":"f7f9cb77-89be-4d2c-bd15-54f8e81d2899","historyId":"3ed497b291de15a2be37df63632abd91","fullName":"com.learning.pom.tests._06_Atomic_CheckoutTest.guestCheckoutUsingDirectBankTransfer","labels":[{"name":"package","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"testClass","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"testMethod","value":"guestCheckoutUsingDirectBankTransfer"},{"name":"parentSuite","value":"Test Automation Suite for Application - AskOmDch UI"},{"name":"suite","value":"Regression Tests for UI - FIREFOX"},{"name":"subSuite","value":"com.learning.pom.tests._06_Atomic_CheckoutTest"},{"name":"host","value":"rajats-MacBook-Air.local"},{"name":"thread","value":"49934@rajats-MacBook-Air.local.TestNG-test=Regression Tests for UI - FIREFOX-2(27)"},{"name":"framework","value":"testng"},{"name":"language","value":"java"}],"links":[],"name":"guestCheckoutUsingDirectBankTransfer","status":"passed","statusDetails":{"known":false,"muted":false,"flaky":false},"stage":"finished","steps":[],"attachments":[],"parameters":[{"name":"browser_testng","value":"FIREFOX"}],"start":1669454799235,"stop":1669454818272} -------------------------------------------------------------------------------- /reports/allure/allure-results/fdccc2f8-4493-4ae3-b26b-03bc556b0913-container.json: -------------------------------------------------------------------------------- 1 | {"uuid":"fdccc2f8-4493-4ae3-b26b-03bc556b0913","name":"com.learning.pom.base.BaseTest.startDriver","children":["049ea8e6-0dd8-4b92-8206-a3cf8c521569"],"description":"","befores":[{"name":"startDriver","status":"passed","stage":"finished","description":"","steps":[],"attachments":[],"parameters":[],"start":1669454794879,"stop":1669454803252}],"afters":[],"start":1669454794879,"stop":1669454803254} -------------------------------------------------------------------------------- /screenshots_On_Failure/CHROME/_03_SearchTest_searchWithPartialMatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/screenshots_On_Failure/CHROME/_03_SearchTest_searchWithPartialMatch.png -------------------------------------------------------------------------------- /screenshots_On_Failure/CHROME/_04_AddToCartTest_addToCartFromStorePage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/screenshots_On_Failure/CHROME/_04_AddToCartTest_addToCartFromStorePage.png -------------------------------------------------------------------------------- /screenshots_On_Failure/CHROME/_05_Atomic_LoginTest_loginDuringCheckout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/screenshots_On_Failure/CHROME/_05_Atomic_LoginTest_loginDuringCheckout.png -------------------------------------------------------------------------------- /screenshots_On_Failure/FIREFOX/_04_AddToCartTest_addToCartFromStorePage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/screenshots_On_Failure/FIREFOX/_04_AddToCartTest_addToCartFromStorePage.png -------------------------------------------------------------------------------- /screenshots_On_Failure/FIREFOX/_05_Atomic_LoginTest_loginDuringCheckout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/screenshots_On_Failure/FIREFOX/_05_Atomic_LoginTest_loginDuringCheckout.png -------------------------------------------------------------------------------- /screenshots_On_Failure/FIREFOX/_06_Atomic_CheckoutTest_guestCheckoutUsingDirectBankTransfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/screenshots_On_Failure/FIREFOX/_06_Atomic_CheckoutTest_guestCheckoutUsingDirectBankTransfer.png -------------------------------------------------------------------------------- /screenshots_On_Failure/FIREFOX/_06_Atomic_CheckoutTest_loginAndCheckoutUsingDirectBankTransfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/screenshots_On_Failure/FIREFOX/_06_Atomic_CheckoutTest_loginAndCheckoutUsingDirectBankTransfer.png -------------------------------------------------------------------------------- /screenshots_On_Failure/FIREFOX/_07_DataProvider_AddToCartTest_addToCartFeaturedProducts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2/4fe3755aa21433f5b83ff55f824831ba5451f83a/screenshots_On_Failure/FIREFOX/_07_DataProvider_AddToCartTest_addToCartFeaturedProducts.png -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_02_Sec_09_05_POM_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // # * Learnings from Other Courses - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 10 | // # */ 11 | ///***************************************************/ 12 | // 13 | //package com.learning.Z_learningsFromStart; 14 | // 15 | //import com.learning.pom.base.BaseTest; 16 | //import com.learning.pom.pages.CartPage; 17 | //import com.learning.pom.pages.CheckoutPage; 18 | //import com.learning.pom.pages.HomePage; 19 | //import com.learning.pom.pages.StorePage; 20 | //import org.testng.Assert; 21 | //import org.testng.annotations.Test; 22 | // 23 | //// Structural Page object - Billing Address 24 | //public class _02_Sec_09_05_POM_MyFirstTC extends BaseTest { 25 | // 26 | // @Test 27 | // public void guestCheckoutUsingDirectBankTransfer() throws InterruptedException { 28 | // 29 | // StorePage storePage = new HomePage(driver). 30 | // load(). 31 | // navigateToStoreUsingMenu(). 32 | // searchProduct("Blue"); 33 | // 34 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 35 | // "Assertion for Heading that comes after click on Search button"); 36 | // 37 | // storePage.clickAddToCartBtn("Blue Shoes"); 38 | // Thread.sleep(5000); 39 | // CartPage cartPage = storePage.clickViewCart(); 40 | // 41 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 42 | // "Assertion for Product Name that comes after click on View Cart link"); 43 | // CheckoutPage checkoutPage = cartPage.checkout(); 44 | // 45 | // // Structural Page object 46 | // checkoutPage. 47 | // enterFirstName("demo"). 48 | // enterLastName("user"). 49 | // enterAddressLineOne("San Francisco"). 50 | // enterCity("San Francisco"). 51 | // enterPostCode("94188"). 52 | // enterEmail("dummyUser875@gmail.com"). 53 | // placeOrder(); 54 | // 55 | // Thread.sleep(5000); 56 | // 57 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 58 | // "Assertion for Thank you Message that comes after order is placed"); 59 | // 60 | // } 61 | // 62 | // @Test 63 | // public void loginAndCheckoutUsingDirectBankTransfer() throws InterruptedException { 64 | // 65 | // 66 | // StorePage storePage = new HomePage(driver). 67 | // load(). 68 | // navigateToStoreUsingMenu(). 69 | // searchProduct("Blue"); 70 | // 71 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 72 | // "Assertion for Heading that comes after click on Search button"); 73 | // 74 | // storePage.clickAddToCartBtn("Blue Shoes"); 75 | // Thread.sleep(5000); 76 | // CartPage cartPage = storePage.clickViewCart(); 77 | // 78 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 79 | // "Assertion for Product Name that comes after click on View Cart link"); 80 | // 81 | // CheckoutPage checkoutPage = cartPage.checkout(); 82 | // checkoutPage.clickHereToLoginLink(); 83 | // Thread.sleep(3000); 84 | // 85 | // checkoutPage. 86 | // login("dummyUser875@gmail.com","HidummyUser"). 87 | // enterFirstName("demo"). 88 | // enterLastName("user"). 89 | // enterAddressLineOne("San Francisco"). 90 | // enterCity("San Francisco"). 91 | // enterPostCode("94188"). 92 | // enterEmail("dummyUser875@gmail.com"). 93 | // placeOrder(); 94 | // 95 | // Thread.sleep(5000); 96 | // 97 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 98 | // "Assertion for Thank you Message that comes after order is placed"); 99 | // 100 | // } 101 | // 102 | // 103 | //}// _02_Sec_09_05_POM_MyFirstTC 104 | -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_03_Sec_10_01_DO_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // # * Learnings from Other Courses - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 10 | // # */ 11 | ///***************************************************/ 12 | // 13 | //package com.learning.Z_learningsFromStart; 14 | // 15 | //import com.learning.pom.base.BaseTest; 16 | //import com.learning.pom.objects.BillingAddress; 17 | //import com.learning.pom.pages.CartPage; 18 | //import com.learning.pom.pages.CheckoutPage; 19 | //import com.learning.pom.pages.HomePage; 20 | //import com.learning.pom.pages.StorePage; 21 | //import org.testng.Assert; 22 | //import org.testng.annotations.Test; 23 | // 24 | //// Java POJO introduced for Billing Address 25 | //public class _03_Sec_10_01_DO_MyFirstTC extends BaseTest { 26 | // 27 | // @Test 28 | // public void guestCheckoutUsingDirectBankTransfer() throws InterruptedException { 29 | // 30 | // StorePage storePage = new HomePage(driver). 31 | // load(). 32 | // navigateToStoreUsingMenu(). 33 | // searchProduct("Blue"); 34 | // 35 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 36 | // "Assertion for Heading that comes after click on Search button"); 37 | // 38 | // storePage.clickAddToCartBtn("Blue Shoes"); 39 | // Thread.sleep(5000); 40 | // CartPage cartPage = storePage.clickViewCart(); 41 | // 42 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 43 | // "Assertion for Product Name that comes after click on View Cart link"); 44 | // CheckoutPage checkoutPage = cartPage.checkout(); 45 | // 46 | // // Structural Page object 47 | //// checkoutPage. 48 | //// enterFirstName("demo"). 49 | //// enterLastName("user"). 50 | //// enterAddressLineOne("San Francisco"). 51 | //// enterCity("San Francisco"). 52 | //// enterPostCode("94188"). 53 | //// enterEmail("dummyUser875@gmail.com"). 54 | //// placeOrder(); 55 | // 56 | // BillingAddress billingAddress = new BillingAddress(); 57 | // billingAddress.setFirstName("demo"); 58 | // billingAddress.setLastName("user"); 59 | // billingAddress.setAddressLineOne("San Francisco"); 60 | // billingAddress.setCity("San Francisco"); 61 | // billingAddress.setPostalCode("94188"); 62 | // billingAddress.setEmail("dummyUser875@gmail.com"); 63 | // 64 | // // Functional Page Object 65 | // checkoutPage. 66 | // setBillingAddress(billingAddress). 67 | // placeOrder(); 68 | // 69 | // Thread.sleep(5000); 70 | // 71 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 72 | // "Assertion for Thank you Message that comes after order is placed"); 73 | // 74 | // } 75 | // 76 | // @Test 77 | // public void loginAndCheckoutUsingDirectBankTransfer() throws InterruptedException { 78 | // 79 | // 80 | // StorePage storePage = new HomePage(driver). 81 | // load(). 82 | // navigateToStoreUsingMenu(). 83 | // searchProduct("Blue"); 84 | // 85 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 86 | // "Assertion for Heading that comes after click on Search button"); 87 | // 88 | // storePage.clickAddToCartBtn("Blue Shoes"); 89 | // Thread.sleep(5000); 90 | // CartPage cartPage = storePage.clickViewCart(); 91 | // 92 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 93 | // "Assertion for Product Name that comes after click on View Cart link"); 94 | // 95 | // CheckoutPage checkoutPage = cartPage.checkout(); 96 | // checkoutPage.clickHereToLoginLink(); 97 | // Thread.sleep(3000); 98 | // 99 | // checkoutPage. 100 | // login("dummyUser875@gmail.com","HidummyUser"). 101 | // enterFirstName("demo"). 102 | // enterLastName("user"). 103 | // enterAddressLineOne("San Francisco"). 104 | // enterCity("San Francisco"). 105 | // enterPostCode("94188"). 106 | // enterEmail("dummyUser875@gmail.com"). 107 | // placeOrder(); 108 | // 109 | // Thread.sleep(5000); 110 | // 111 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 112 | // "Assertion for Thank you Message that comes after order is placed"); 113 | // 114 | // } 115 | // 116 | // 117 | //}// _03_Sec_10_01_DO_MyFirstTC 118 | -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_03_Sec_10_02_DO_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // # * Learnings from Other Courses - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 10 | // # */ 11 | ///***************************************************/ 12 | // 13 | //package com.learning.Z_learningsFromStart; 14 | // 15 | //import com.learning.pom.base.BaseTest; 16 | //import com.learning.pom.objects.BillingAddress; 17 | //import com.learning.pom.pages.CartPage; 18 | //import com.learning.pom.pages.CheckoutPage; 19 | //import com.learning.pom.pages.HomePage; 20 | //import com.learning.pom.pages.StorePage; 21 | //import org.testng.Assert; 22 | //import org.testng.annotations.Test; 23 | // 24 | //// Billing Address - Builder Pattern 25 | //public class _03_Sec_10_02_DO_MyFirstTC extends BaseTest { 26 | // 27 | // @Test 28 | // public void guestCheckoutUsingDirectBankTransfer() throws InterruptedException { 29 | // 30 | // StorePage storePage = new HomePage(driver). 31 | // load(). 32 | // navigateToStoreUsingMenu(). 33 | // searchProduct("Blue"); 34 | // 35 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 36 | // "Assertion for Heading that comes after click on Search button"); 37 | // 38 | // storePage.clickAddToCartBtn("Blue Shoes"); 39 | // Thread.sleep(5000); 40 | // CartPage cartPage = storePage.clickViewCart(); 41 | // 42 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 43 | // "Assertion for Product Name that comes after click on View Cart link"); 44 | // CheckoutPage checkoutPage = cartPage.checkout(); 45 | // 46 | // BillingAddress billingAddress = new BillingAddress(); 47 | //// billingAddress.setFirstName("demo"); 48 | //// billingAddress.setLastName("user"); 49 | //// billingAddress.setAddressLineOne("San Francisco"); 50 | //// billingAddress.setCity("San Francisco"); 51 | //// billingAddress.setPostalCode("94188"); 52 | //// billingAddress.setEmail("dummyUser875@gmail.com"); 53 | // 54 | // // Billing Address - Builder Pattern 55 | // billingAddress. 56 | // setFirstName("demo"). 57 | // setLastName("user"). 58 | // setAddressLineOne("San Francisco"). 59 | // setCity("San Francisco"). 60 | // setPostalCode("94188"). 61 | // setEmail("dummyUser875@gmail.com"); 62 | // 63 | // // Functional Page Object 64 | // checkoutPage. 65 | // setBillingAddress(billingAddress). 66 | // placeOrder(); 67 | // 68 | // Thread.sleep(5000); 69 | // 70 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 71 | // "Assertion for Thank you Message that comes after order is placed"); 72 | // 73 | // } 74 | // 75 | // @Test 76 | // public void loginAndCheckoutUsingDirectBankTransfer() throws InterruptedException { 77 | // 78 | // 79 | // StorePage storePage = new HomePage(driver). 80 | // load(). 81 | // navigateToStoreUsingMenu(). 82 | // searchProduct("Blue"); 83 | // 84 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 85 | // "Assertion for Heading that comes after click on Search button"); 86 | // 87 | // storePage.clickAddToCartBtn("Blue Shoes"); 88 | // Thread.sleep(5000); 89 | // CartPage cartPage = storePage.clickViewCart(); 90 | // 91 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 92 | // "Assertion for Product Name that comes after click on View Cart link"); 93 | // 94 | // CheckoutPage checkoutPage = cartPage.checkout(); 95 | // checkoutPage.clickHereToLoginLink(); 96 | // Thread.sleep(3000); 97 | // 98 | // checkoutPage. 99 | // login("dummyUser875@gmail.com","HidummyUser"). 100 | // enterFirstName("demo"). 101 | // enterLastName("user"). 102 | // enterAddressLineOne("San Francisco"). 103 | // enterCity("San Francisco"). 104 | // enterPostCode("94188"). 105 | // enterEmail("dummyUser875@gmail.com"). 106 | // placeOrder(); 107 | // 108 | // Thread.sleep(5000); 109 | // 110 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 111 | // "Assertion for Thank you Message that comes after order is placed"); 112 | // 113 | // } 114 | // 115 | // 116 | //}// _03_Sec_10_02_DO_MyFirstTC 117 | -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_03_Sec_10_03_DO_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // 10 | // # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | // # * Document(s): https://github.com/rajatt95/Documents 12 | // # * Learnings from Tutor other course(s): - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 13 | // # */ 14 | ///***************************************************/ 15 | // 16 | //package com.learning.Z_learningsFromStart; 17 | // 18 | //import com.learning.pom.base.BaseTest; 19 | //import com.learning.pom.objects.BillingAddress; 20 | //import com.learning.pom.pages.CartPage; 21 | //import com.learning.pom.pages.CheckoutPage; 22 | //import com.learning.pom.pages.HomePage; 23 | //import com.learning.pom.pages.StorePage; 24 | //import org.testng.Assert; 25 | //import org.testng.annotations.Test; 26 | // 27 | //// Billing Address - Parameterized Constructor 28 | //public class _03_Sec_10_03_DO_MyFirstTC extends BaseTest { 29 | // 30 | // @Test 31 | // public void guestCheckoutUsingDirectBankTransfer() throws InterruptedException { 32 | // 33 | // StorePage storePage = new HomePage(driver). 34 | // load(). 35 | // navigateToStoreUsingMenu(). 36 | // searchProduct("Blue"); 37 | // 38 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 39 | // "Assertion for Heading that comes after click on Search button"); 40 | // 41 | // storePage.clickAddToCartBtn("Blue Shoes"); 42 | // Thread.sleep(5000); 43 | // CartPage cartPage = storePage.clickViewCart(); 44 | // 45 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 46 | // "Assertion for Product Name that comes after click on View Cart link"); 47 | // CheckoutPage checkoutPage = cartPage.checkout(); 48 | // 49 | // // BillingAddress billingAddress = new BillingAddress(); 50 | // // Billing Address - Builder Pattern 51 | //// billingAddress. 52 | //// setFirstName("demo"). 53 | //// setLastName("user"). 54 | //// setAddressLineOne("San Francisco"). 55 | //// setCity("San Francisco"). 56 | //// setPostalCode("94188"). 57 | //// setEmail("dummyUser875@gmail.com"); 58 | // 59 | // // Billing Address - Parameterized Constructor 60 | // BillingAddress billingAddress = new BillingAddress("demo","user", 61 | // "San Francisco","San Francisco","94188","dummyUser875@gmail.com"); 62 | // 63 | // 64 | // // Functional Page Object 65 | // checkoutPage. 66 | // setBillingAddress(billingAddress). 67 | // placeOrder(); 68 | // 69 | // Thread.sleep(5000); 70 | // 71 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 72 | // "Assertion for Thank you Message that comes after order is placed"); 73 | // 74 | // } 75 | // 76 | // @Test 77 | // public void loginAndCheckoutUsingDirectBankTransfer() throws InterruptedException { 78 | // 79 | // 80 | // StorePage storePage = new HomePage(driver). 81 | // load(). 82 | // navigateToStoreUsingMenu(). 83 | // searchProduct("Blue"); 84 | // 85 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 86 | // "Assertion for Heading that comes after click on Search button"); 87 | // 88 | // storePage.clickAddToCartBtn("Blue Shoes"); 89 | // Thread.sleep(5000); 90 | // CartPage cartPage = storePage.clickViewCart(); 91 | // 92 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 93 | // "Assertion for Product Name that comes after click on View Cart link"); 94 | // 95 | // CheckoutPage checkoutPage = cartPage.checkout(); 96 | // checkoutPage.clickHereToLoginLink(); 97 | // Thread.sleep(3000); 98 | // 99 | // checkoutPage. 100 | // login("dummyUser875@gmail.com","HidummyUser"). 101 | // enterFirstName("demo"). 102 | // enterLastName("user"). 103 | // enterAddressLineOne("San Francisco"). 104 | // enterCity("San Francisco"). 105 | // enterPostCode("94188"). 106 | // enterEmail("dummyUser875@gmail.com"). 107 | // placeOrder(); 108 | // 109 | // Thread.sleep(5000); 110 | // 111 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 112 | // "Assertion for Thank you Message that comes after order is placed"); 113 | // 114 | // } 115 | // 116 | // 117 | //}// _03_Sec_10_03_DO_MyFirstTC 118 | -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_03_Sec_10_04_DO_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // 10 | // # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | // # * Document(s): https://github.com/rajatt95/Documents 12 | // # * Learnings from Tutor other course(s): - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 13 | // # */ 14 | ///***************************************************/ 15 | // 16 | //package com.learning.Z_learningsFromStart; 17 | // 18 | //import com.learning.pom.base.BaseTest; 19 | //import com.learning.pom.objects.BillingAddress; 20 | //import com.learning.pom.pages.CartPage; 21 | //import com.learning.pom.pages.CheckoutPage; 22 | //import com.learning.pom.pages.HomePage; 23 | //import com.learning.pom.pages.StorePage; 24 | //import org.testng.Assert; 25 | //import org.testng.annotations.Test; 26 | // 27 | //import java.io.InputStream; 28 | // 29 | //// Remove Hard Coding - Test Data (Take it from JSON using Jackson DataBind dependency) 30 | //// Billing Address: De-serialize JSON 31 | //public class _03_Sec_10_04_DO_MyFirstTC extends BaseTest { 32 | // 33 | // @Test 34 | // public void guestCheckoutUsingDirectBankTransfer() throws InterruptedException { 35 | // 36 | // StorePage storePage = new HomePage(driver). 37 | // load(). 38 | // navigateToStoreUsingMenu(). 39 | // searchProduct("Blue"); 40 | // 41 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 42 | // "Assertion for Heading that comes after click on Search button"); 43 | // 44 | // storePage.clickAddToCartBtn("Blue Shoes"); 45 | // Thread.sleep(5000); 46 | // CartPage cartPage = storePage.clickViewCart(); 47 | // 48 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 49 | // "Assertion for Product Name that comes after click on View Cart link"); 50 | // CheckoutPage checkoutPage = cartPage.checkout(); 51 | // 52 | // // Billing Address - Parameterized Constructor 53 | //// BillingAddress billingAddress = new BillingAddress("demo","user", 54 | //// "San Francisco","San Francisco","94188","dummyUser875@gmail.com"); 55 | // 56 | // // Billing Address: De-serialize JSON 57 | // BillingAddress billingAddress = new BillingAddress(); 58 | // 59 | // // InputStream -> This will automatically take the file path (src/test/resources) 60 | // // Maven will resolve this (We don't need absolute/relative path) 61 | // InputStream is = getClass().getClassLoader().getResourceAsStream("myBillingAddress.json"); 62 | // 63 | // // Commented below line (Because, we made deSerializationJSON() method as Generic) 64 | // // Refer _03_Sec_10_05_DO_MyFirstTestCase 65 | // // billingAddress = JacksonUtils.deSerializationJSON(is, billingAddress); 66 | // 67 | // // Functional Page Object 68 | // checkoutPage. 69 | // setBillingAddress(billingAddress). 70 | // placeOrder(); 71 | // 72 | // Thread.sleep(5000); 73 | // 74 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 75 | // "Assertion for Thank you Message that comes after order is placed"); 76 | // 77 | // } 78 | // 79 | // @Test 80 | // public void loginAndCheckoutUsingDirectBankTransfer() throws InterruptedException { 81 | // 82 | // 83 | // StorePage storePage = new HomePage(driver). 84 | // load(). 85 | // navigateToStoreUsingMenu(). 86 | // searchProduct("Blue"); 87 | // 88 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 89 | // "Assertion for Heading that comes after click on Search button"); 90 | // 91 | // storePage.clickAddToCartBtn("Blue Shoes"); 92 | // Thread.sleep(5000); 93 | // CartPage cartPage = storePage.clickViewCart(); 94 | // 95 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 96 | // "Assertion for Product Name that comes after click on View Cart link"); 97 | // 98 | // CheckoutPage checkoutPage = cartPage.checkout(); 99 | // checkoutPage.clickHereToLoginLink(); 100 | // Thread.sleep(3000); 101 | // 102 | // checkoutPage. 103 | // login("dummyUser875@gmail.com","HidummyUser"). 104 | // enterFirstName("demo"). 105 | // enterLastName("user"). 106 | // enterAddressLineOne("San Francisco"). 107 | // enterCity("San Francisco"). 108 | // enterPostCode("94188"). 109 | // enterEmail("dummyUser875@gmail.com"). 110 | // placeOrder(); 111 | // 112 | // Thread.sleep(5000); 113 | // 114 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 115 | // "Assertion for Thank you Message that comes after order is placed"); 116 | // 117 | // } 118 | // 119 | // 120 | //}// _03_Sec_10_04_DO_MyFirstTC 121 | -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_03_Sec_10_05_DO_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // 10 | // # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | // # * Document(s): https://github.com/rajatt95/Documents 12 | // # * Learnings from Tutor other course(s): - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 13 | // # */ 14 | ///***************************************************/ 15 | // 16 | //package com.learning.Z_learningsFromStart; 17 | // 18 | //import com.learning.pom.base.BaseTest; 19 | //import com.learning.pom.objects.BillingAddress; 20 | //import com.learning.pom.pages.CartPage; 21 | //import com.learning.pom.pages.CheckoutPage; 22 | //import com.learning.pom.pages.HomePage; 23 | //import com.learning.pom.pages.StorePage; 24 | //import com.learning.pom.utils.JacksonUtils; 25 | //import org.testng.Assert; 26 | //import org.testng.annotations.Test; 27 | // 28 | //// Reusable Method to De-serialize JSON (Generic Method) 29 | //public class _03_Sec_10_05_DO_MyFirstTC extends BaseTest { 30 | // 31 | // @Test 32 | // public void guestCheckoutUsingDirectBankTransfer() throws InterruptedException { 33 | // 34 | // StorePage storePage = new HomePage(driver). 35 | // load(). 36 | // navigateToStoreUsingMenu(). 37 | // searchProduct("Blue"); 38 | // 39 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 40 | // "Assertion for Heading that comes after click on Search button"); 41 | // 42 | // storePage.clickAddToCartBtn("Blue Shoes"); 43 | // Thread.sleep(5000); 44 | // CartPage cartPage = storePage.clickViewCart(); 45 | // 46 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 47 | // "Assertion for Product Name that comes after click on View Cart link"); 48 | // CheckoutPage checkoutPage = cartPage.checkout(); 49 | // 50 | //// // Billing Address: De-serialize JSON 51 | //// BillingAddress billingAddress = new BillingAddress(); 52 | //// 53 | //// // InputStream -> This will automatically take the file path (src/test/resources) 54 | //// // Maven will resolve this (We don't need absolute/relative path) 55 | //// InputStream is = getClass().getClassLoader().getResourceAsStream("myBillingAddress.json"); 56 | //// billingAddress = JacksonUtils.deSerializationJSON(is, billingAddress); 57 | // 58 | // // Reusable Method to De-serialize JSON (Generic Method) 59 | // BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 60 | // "myBillingAddress.json",BillingAddress.class); 61 | // 62 | // 63 | // // Functional Page Object 64 | // checkoutPage. 65 | // setBillingAddress(billingAddress). 66 | // placeOrder(); 67 | // 68 | // Thread.sleep(5000); 69 | // 70 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 71 | // "Assertion for Thank you Message that comes after order is placed"); 72 | // 73 | // } 74 | // 75 | // @Test 76 | // public void loginAndCheckoutUsingDirectBankTransfer() throws InterruptedException { 77 | // 78 | // 79 | // StorePage storePage = new HomePage(driver). 80 | // load(). 81 | // navigateToStoreUsingMenu(). 82 | // searchProduct("Blue"); 83 | // 84 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 85 | // "Assertion for Heading that comes after click on Search button"); 86 | // 87 | // storePage.clickAddToCartBtn("Blue Shoes"); 88 | // Thread.sleep(5000); 89 | // CartPage cartPage = storePage.clickViewCart(); 90 | // 91 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 92 | // "Assertion for Product Name that comes after click on View Cart link"); 93 | // 94 | // CheckoutPage checkoutPage = cartPage.checkout(); 95 | // checkoutPage.clickHereToLoginLink(); 96 | // Thread.sleep(3000); 97 | // 98 | // checkoutPage. 99 | // login("dummyUser875@gmail.com","HidummyUser"). 100 | // enterFirstName("demo"). 101 | // enterLastName("user"). 102 | // enterAddressLineOne("San Francisco"). 103 | // enterCity("San Francisco"). 104 | // enterPostCode("94188"). 105 | // enterEmail("dummyUser875@gmail.com"). 106 | // placeOrder(); 107 | // 108 | // Thread.sleep(5000); 109 | // 110 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 111 | // "Assertion for Thank you Message that comes after order is placed"); 112 | // 113 | // } 114 | // 115 | // 116 | //}// _03_Sec_10_05_DO_MyFirstTC 117 | -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_03_Sec_10_06_DO_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // 10 | // # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | // # * Document(s): https://github.com/rajatt95/Documents 12 | // # * Learnings from Tutor other course(s): - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 13 | // # */ 14 | ///***************************************************/ 15 | // 16 | //package com.learning.Z_learningsFromStart; 17 | // 18 | //import com.learning.pom.base.BaseTest; 19 | //import com.learning.pom.objects.BillingAddress; 20 | //import com.learning.pom.objects.Product; 21 | //import com.learning.pom.pages.CartPage; 22 | //import com.learning.pom.pages.CheckoutPage; 23 | //import com.learning.pom.pages.HomePage; 24 | //import com.learning.pom.pages.StorePage; 25 | //import com.learning.pom.utils.JacksonUtils; 26 | //import org.testng.Assert; 27 | //import org.testng.annotations.Test; 28 | // 29 | // 30 | //// Products - Create JSON Array 31 | //public class _03_Sec_10_06_DO_MyFirstTC extends BaseTest { 32 | // 33 | // @Test 34 | // public void guestCheckoutUsingDirectBankTransfer() throws InterruptedException { 35 | // 36 | // StorePage storePage = new HomePage(driver). 37 | // load(). 38 | // navigateToStoreUsingMenu(). 39 | // searchProduct("Blue"); 40 | // 41 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 42 | // "Assertion for Heading that comes after click on Search button"); 43 | // 44 | // 45 | //// storePage.clickAddToCartBtn("Blue Shoes"); 46 | //// Thread.sleep(5000); 47 | //// CartPage cartPage = storePage.clickViewCart(); 48 | //// 49 | //// Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 50 | //// "Assertion for Product Name that comes after click on View Cart link"); 51 | // 52 | // // Products - Create JSON Array 53 | // Product product = new Product(1215); 54 | // storePage.clickAddToCartBtn(product.getName()); 55 | // Thread.sleep(5000); 56 | // CartPage cartPage = storePage.clickViewCart(); 57 | // 58 | // Assert.assertEquals(cartPage.getProductName(), product.getName(), 59 | // "Assertion for Product Name that comes after click on View Cart link"); 60 | // 61 | // 62 | // CheckoutPage checkoutPage = cartPage.checkout(); 63 | // 64 | // // Reusable Method to De-serialize JSON (Generic Method) 65 | // BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 66 | // "myBillingAddress.json",BillingAddress.class); 67 | // 68 | // // Functional Page Object 69 | // checkoutPage. 70 | // setBillingAddress(billingAddress). 71 | // placeOrder(); 72 | // 73 | // Thread.sleep(5000); 74 | // 75 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 76 | // "Assertion for Thank you Message that comes after order is placed"); 77 | // 78 | // } 79 | // 80 | // @Test 81 | // public void loginAndCheckoutUsingDirectBankTransfer() throws InterruptedException { 82 | // 83 | // 84 | // StorePage storePage = new HomePage(driver). 85 | // load(). 86 | // navigateToStoreUsingMenu(). 87 | // searchProduct("Blue"); 88 | // 89 | // Assert.assertEquals(storePage.getTitle(), "Search results: “Blue”", 90 | // "Assertion for Heading that comes after click on Search button"); 91 | // 92 | // storePage.clickAddToCartBtn("Blue Shoes"); 93 | // Thread.sleep(5000); 94 | // CartPage cartPage = storePage.clickViewCart(); 95 | // 96 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes", 97 | // "Assertion for Product Name that comes after click on View Cart link"); 98 | // 99 | // CheckoutPage checkoutPage = cartPage.checkout(); 100 | // checkoutPage.clickHereToLoginLink(); 101 | // Thread.sleep(3000); 102 | // 103 | // checkoutPage. 104 | // login("dummyUser875@gmail.com","HidummyUser"). 105 | // enterFirstName("demo"). 106 | // enterLastName("user"). 107 | // enterAddressLineOne("San Francisco"). 108 | // enterCity("San Francisco"). 109 | // enterPostCode("94188"). 110 | // enterEmail("dummyUser875@gmail.com"). 111 | // placeOrder(); 112 | // 113 | // Thread.sleep(5000); 114 | // 115 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 116 | // "Assertion for Thank you Message that comes after order is placed"); 117 | // 118 | // } 119 | // 120 | // 121 | //}// _03_Sec_10_06_DO_MyFirstTC 122 | -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_03_Sec_10_07_DO_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // 10 | // # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | // # * Document(s): https://github.com/rajatt95/Documents 12 | // # * Learnings from Tutor other course(s): - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 13 | // # */ 14 | ///***************************************************/ 15 | // 16 | //package com.learning.Z_learningsFromStart; 17 | // 18 | //import com.learning.pom.base.BaseTest; 19 | //import com.learning.pom.objects.BillingAddress; 20 | //import com.learning.pom.objects.Product; 21 | //import com.learning.pom.objects.User; 22 | //import com.learning.pom.pages.CartPage; 23 | //import com.learning.pom.pages.CheckoutPage; 24 | //import com.learning.pom.pages.HomePage; 25 | //import com.learning.pom.pages.StorePage; 26 | //import com.learning.pom.utils.JacksonUtils; 27 | //import org.testng.Assert; 28 | //import org.testng.annotations.Test; 29 | // 30 | // 31 | //// User - Create Data Object [With Assignment] 32 | // // Update Test Case #2 33 | //public class _03_Sec_10_07_DO_MyFirstTC extends BaseTest { 34 | // 35 | // @Test 36 | // public void guestCheckoutUsingDirectBankTransfer() throws InterruptedException { 37 | // 38 | // String searchFor = "Blue"; 39 | // StorePage storePage = new HomePage(driver). 40 | // load(). 41 | // navigateToStoreUsingMenu(). 42 | // // searchProduct("Blue"); 43 | // searchProduct(searchFor); 44 | // 45 | // Assert.assertEquals(storePage.getTitle(), "Search results: “"+searchFor+"”", 46 | // "Assertion for Heading that comes after click on Search button"); 47 | // 48 | // // Products - Create JSON Array 49 | // Product product = new Product(1215); 50 | // storePage.clickAddToCartBtn(product.getName()); 51 | // Thread.sleep(5000); 52 | // CartPage cartPage = storePage.clickViewCart(); 53 | // 54 | // Assert.assertEquals(cartPage.getProductName(), product.getName(), 55 | // "Assertion for Product Name that comes after click on View Cart link"); 56 | // 57 | // CheckoutPage checkoutPage = cartPage.checkout(); 58 | // 59 | // // Reusable Method to De-serialize JSON (Generic Method) 60 | // BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 61 | // "myBillingAddress.json",BillingAddress.class); 62 | // 63 | // // Functional Page Object 64 | // checkoutPage. 65 | // setBillingAddress(billingAddress). 66 | // placeOrder(); 67 | // 68 | // Thread.sleep(5000); 69 | // 70 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 71 | // "Assertion for Thank you Message that comes after order is placed"); 72 | // 73 | // } 74 | // 75 | // @Test 76 | // public void loginAndCheckoutUsingDirectBankTransfer() throws InterruptedException { 77 | // 78 | // String searchFor = "Blue"; 79 | // StorePage storePage = new HomePage(driver). 80 | // load(). 81 | // navigateToStoreUsingMenu(). 82 | // // searchProduct("Blue"); 83 | // searchProduct(searchFor); 84 | // 85 | // Assert.assertEquals(storePage.getTitle(), "Search results: “"+searchFor+"”", 86 | // "Assertion for Heading that comes after click on Search button"); 87 | // 88 | // // Products - Create JSON Array 89 | // Product product = new Product(1215); 90 | // storePage.clickAddToCartBtn(product.getName()); 91 | // Thread.sleep(5000); 92 | // CartPage cartPage = storePage.clickViewCart(); 93 | // 94 | // Assert.assertEquals(cartPage.getProductName(), product.getName(), 95 | // "Assertion for Product Name that comes after click on View Cart link"); 96 | // 97 | // CheckoutPage checkoutPage = cartPage.checkout(); 98 | // checkoutPage.clickHereToLoginLink(); 99 | // Thread.sleep(3000); 100 | // 101 | // // Reusable Method to De-serialize JSON (Generic Method) 102 | // BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 103 | // "myBillingAddress.json",BillingAddress.class); 104 | // 105 | // // User - Create Data Object [With Assignment] 106 | // User user = new User("dummyUser875@gmail.com","HidummyUser"); 107 | // 108 | // // Functional Page Object 109 | // checkoutPage. 110 | // login(user). 111 | // setBillingAddress(billingAddress). 112 | // placeOrder(); 113 | // 114 | // Thread.sleep(5000); 115 | // 116 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 117 | // "Assertion for Thank you Message that comes after order is placed"); 118 | // 119 | // } 120 | // 121 | //}// _03_Sec_10_07_DO_MyFirstTC 122 | -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_04_Sec_11_01_Sync_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // 10 | // # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | // # * Document(s): https://github.com/rajatt95/Documents 12 | // # * Learnings from Tutor other course(s): - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 13 | // # */ 14 | ///***************************************************/ 15 | // 16 | //package com.learning.Z_learningsFromStart; 17 | // 18 | //import com.learning.pom.base.BaseTest; 19 | //import com.learning.pom.objects.BillingAddress; 20 | //import com.learning.pom.objects.Product; 21 | //import com.learning.pom.objects.User; 22 | //import com.learning.pom.pages.CartPage; 23 | //import com.learning.pom.pages.CheckoutPage; 24 | //import com.learning.pom.pages.HomePage; 25 | //import com.learning.pom.pages.StorePage; 26 | //import com.learning.pom.utils.JacksonUtils; 27 | //import org.testng.Assert; 28 | //import org.testng.annotations.Test; 29 | // 30 | // 31 | //// Remove Static Sleeps (Thread.sleep(5000)) 32 | // // Implicit Wait added to Driver Session (In DriverManager class) 33 | //public class _04_Sec_11_01_Sync_MyFirstTC extends BaseTest { 34 | // 35 | // @Test 36 | // public void guestCheckoutUsingDirectBankTransfer() { 37 | // 38 | // String searchFor = "Blue"; 39 | // StorePage storePage = new HomePage(driver). 40 | // load(). 41 | // navigateToStoreUsingMenu(). 42 | // // searchProduct("Blue"); 43 | // searchProduct(searchFor); 44 | // 45 | // Assert.assertEquals(storePage.getTitle(), "Search results: “"+searchFor+"”", 46 | // "Assertion for Heading that comes after click on Search button"); 47 | // 48 | // // Products - Create JSON Array 49 | // Product product = new Product(1215); 50 | // storePage.clickAddToCartBtn(product.getName()); 51 | // // Thread.sleep(5000); 52 | // CartPage cartPage = storePage.clickViewCart(); 53 | // 54 | // Assert.assertEquals(cartPage.getProductName(), product.getName(), 55 | // "Assertion for Product Name that comes after click on View Cart link"); 56 | // 57 | // CheckoutPage checkoutPage = cartPage.checkout(); 58 | // 59 | // // Reusable Method to De-serialize JSON (Generic Method) 60 | // BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 61 | // "myBillingAddress.json",BillingAddress.class); 62 | // 63 | // // Functional Page Object 64 | // checkoutPage. 65 | // setBillingAddress(billingAddress). 66 | // placeOrder(); 67 | // 68 | // // Thread.sleep(5000); 69 | // 70 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 71 | // "Assertion for Thank you Message that comes after order is placed"); 72 | // 73 | // } 74 | // 75 | // @Test 76 | // public void loginAndCheckoutUsingDirectBankTransfer() { 77 | // 78 | // String searchFor = "Blue"; 79 | // StorePage storePage = new HomePage(driver). 80 | // load(). 81 | // navigateToStoreUsingMenu(). 82 | // // searchProduct("Blue"); 83 | // searchProduct(searchFor); 84 | // 85 | // Assert.assertEquals(storePage.getTitle(), "Search results: “"+searchFor+"”", 86 | // "Assertion for Heading that comes after click on Search button"); 87 | // 88 | // // Products - Create JSON Array 89 | // Product product = new Product(1215); 90 | // storePage.clickAddToCartBtn(product.getName()); 91 | // // Thread.sleep(5000); 92 | // CartPage cartPage = storePage.clickViewCart(); 93 | // 94 | // Assert.assertEquals(cartPage.getProductName(), product.getName(), 95 | // "Assertion for Product Name that comes after click on View Cart link"); 96 | // 97 | // CheckoutPage checkoutPage = cartPage.checkout(); 98 | // checkoutPage.clickHereToLoginLink(); 99 | // // Thread.sleep(3000); 100 | // 101 | // // Reusable Method to De-serialize JSON (Generic Method) 102 | // BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 103 | // "myBillingAddress.json",BillingAddress.class); 104 | // 105 | // // User - Create Data Object [With Assignment] 106 | // User user = new User("dummyUser875@gmail.com","HidummyUser"); 107 | // 108 | // // Functional Page Object 109 | // checkoutPage. 110 | // login(user). 111 | // setBillingAddress(billingAddress). 112 | // placeOrder(); 113 | // 114 | // // Thread.sleep(5000); 115 | // 116 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 117 | // "Assertion for Thank you Message that comes after order is placed"); 118 | // 119 | // } 120 | // 121 | //}// _04_Sec_11_01_Sync_MyFirstTC 122 | -------------------------------------------------------------------------------- /src/test/java/com/learning/Z_learningsFromStart/_05_Sec_12_01_TO_MyFirstTC.java: -------------------------------------------------------------------------------- 1 | ///** 2 | // # * @author Rajat Verma 3 | // # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | // # * https://github.com/rajatt95 5 | // # * https://rajatt95.github.io/ 6 | // # * 7 | // # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | // # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | // 10 | // # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | // # * Document(s): https://github.com/rajatt95/Documents 12 | // # * Learnings from Tutor other course(s): - https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 13 | // # */ 14 | ///***************************************************/ 15 | // 16 | //package com.learning.Z_learningsFromStart; 17 | // 18 | //import com.learning.pom.base.BaseTest; 19 | //import com.learning.pom.objects.BillingAddress; 20 | //import com.learning.pom.objects.Product; 21 | //import com.learning.pom.objects.User; 22 | //import com.learning.pom.pages.CartPage; 23 | //import com.learning.pom.pages.CheckoutPage; 24 | //import com.learning.pom.pages.HomePage; 25 | //import com.learning.pom.pages.StorePage; 26 | //import com.learning.pom.utils.JacksonUtils; 27 | //import org.testng.Assert; 28 | //import org.testng.annotations.Test; 29 | // 30 | // 31 | //// Remove Application State Dependency 32 | //public class _05_Sec_12_01_TO_MyFirstTC extends BaseTest { 33 | // 34 | // @Test 35 | // public void guestCheckoutUsingDirectBankTransfer() { 36 | // 37 | // String searchFor = "Blue"; 38 | // StorePage storePage = new HomePage(driver). 39 | // load(). 40 | // navigateToStoreUsingMenu(). 41 | // // searchProduct("Blue"); 42 | // searchProduct(searchFor); 43 | // 44 | // Assert.assertEquals(storePage.getTitle(), "Search results: “"+searchFor+"”", 45 | // "Assertion for Heading that comes after click on Search button"); 46 | // 47 | // // Products - Create JSON Array 48 | // Product product = new Product(1215); 49 | // storePage.clickAddToCartBtn(product.getName()); 50 | // // Thread.sleep(5000); 51 | // CartPage cartPage = storePage.clickViewCart(); 52 | // 53 | // Assert.assertEquals(cartPage.getProductName(), product.getName(), 54 | // "Assertion for Product Name that comes after click on View Cart link"); 55 | // 56 | // CheckoutPage checkoutPage = cartPage.checkout(); 57 | // 58 | // // Reusable Method to De-serialize JSON (Generic Method) 59 | // BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 60 | // "myBillingAddress.json",BillingAddress.class); 61 | // 62 | // // Functional Page Object 63 | //// checkoutPage. 64 | //// setBillingAddress(billingAddress). 65 | //// placeOrder(); 66 | // 67 | // // Remove Application State Dependency 68 | // checkoutPage. 69 | // setBillingAddress(billingAddress). 70 | // selectDirectBankTransfer(). 71 | // placeOrder(); 72 | // 73 | // // Thread.sleep(5000); 74 | // 75 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 76 | // "Assertion for Thank you Message that comes after order is placed"); 77 | // 78 | // } 79 | // 80 | // @Test 81 | // public void loginAndCheckoutUsingDirectBankTransfer() { 82 | // 83 | // String searchFor = "Blue"; 84 | // StorePage storePage = new HomePage(driver). 85 | // load(). 86 | // navigateToStoreUsingMenu(). 87 | // // searchProduct("Blue"); 88 | // searchProduct(searchFor); 89 | // 90 | // Assert.assertEquals(storePage.getTitle(), "Search results: “"+searchFor+"”", 91 | // "Assertion for Heading that comes after click on Search button"); 92 | // 93 | // // Products - Create JSON Array 94 | // Product product = new Product(1215); 95 | // storePage.clickAddToCartBtn(product.getName()); 96 | // // Thread.sleep(5000); 97 | // CartPage cartPage = storePage.clickViewCart(); 98 | // 99 | // Assert.assertEquals(cartPage.getProductName(), product.getName(), 100 | // "Assertion for Product Name that comes after click on View Cart link"); 101 | // 102 | // CheckoutPage checkoutPage = cartPage.checkout(); 103 | // checkoutPage.clickHereToLoginLink(); 104 | // // Thread.sleep(3000); 105 | // 106 | // // Reusable Method to De-serialize JSON (Generic Method) 107 | // BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 108 | // "myBillingAddress.json",BillingAddress.class); 109 | // 110 | // // User - Create Data Object [With Assignment] 111 | // User user = new User("dummyUser875@gmail.com","HidummyUser"); 112 | // 113 | // // Functional Page Object 114 | //// checkoutPage. 115 | //// login(user). 116 | //// setBillingAddress(billingAddress). 117 | //// placeOrder(); 118 | // 119 | // // Remove Application State Dependency 120 | // checkoutPage. 121 | // login(user). 122 | // setBillingAddress(billingAddress). 123 | // selectDirectBankTransfer(). 124 | // placeOrder(); 125 | // 126 | // // Thread.sleep(5000); 127 | // 128 | // Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 129 | // "Assertion for Thank you Message that comes after order is placed"); 130 | // 131 | // } 132 | // 133 | //}// _05_Sec_12_01_TO_MyFirstTC 134 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/api/ApiRequest.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | package com.learning.pom.api; 23 | 24 | import io.restassured.http.Cookies; 25 | import io.restassured.http.Headers; 26 | import io.restassured.response.Response; 27 | import java.util.HashMap; 28 | 29 | import static io.restassured.RestAssured.given; 30 | 31 | public class ApiRequest extends SpecBuilder { 32 | 33 | public static Response post(String endPoint, Headers headers, 34 | HashMap formParams, Cookies cookies) { 35 | 36 | return given(getRequestSpec()). 37 | headers(headers). 38 | formParams(formParams). 39 | cookies(cookies). 40 | when(). 41 | post(endPoint). 42 | then(). 43 | spec(getResponseSpec()). 44 | extract(). 45 | response(); 46 | } 47 | 48 | public static Response get(String endPoint, Cookies cookies) { 49 | 50 | return given(getRequestSpec()). 51 | cookies(cookies). 52 | when(). 53 | get(endPoint). 54 | then(). 55 | spec(getResponseSpec()). 56 | extract(). 57 | response(); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/api/SpecBuilder.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | package com.learning.pom.api; 23 | 24 | import com.learning.pom.utils.ConfigLoader; 25 | import io.restassured.builder.RequestSpecBuilder; 26 | import io.restassured.builder.ResponseSpecBuilder; 27 | import io.restassured.filter.log.LogDetail; 28 | import io.restassured.specification.RequestSpecification; 29 | import io.restassured.specification.ResponseSpecification; 30 | 31 | public class SpecBuilder { 32 | 33 | public static RequestSpecification getRequestSpec() { 34 | return new RequestSpecBuilder(). 35 | //setBaseUri(Environment.getUrl()). 36 | setBaseUri(ConfigLoader.getInstance().getBaseUrl()). 37 | log(LogDetail.ALL). 38 | build(); 39 | } 40 | 41 | public static ResponseSpecification getResponseSpec() { 42 | return new ResponseSpecBuilder(). 43 | // log(LogDetail.METHOD). 44 | // log(LogDetail.URI). 45 | // log(LogDetail.PARAMS). 46 | // log(LogDetail.STATUS). 47 | // log(LogDetail.HEADERS). 48 | // log(LogDetail.COOKIES). 49 | log(LogDetail.ALL). 50 | build(); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/api/actions/CartApi.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.api.actions; 24 | 25 | import com.learning.pom.api.ApiRequest; 26 | import com.learning.pom.objects.User; 27 | import com.learning.pom.utils.ConfigLoader; 28 | import com.learning.pom.utils.FakerUtils; 29 | import io.restassured.http.Cookies; 30 | import io.restassured.http.Header; 31 | import io.restassured.http.Headers; 32 | import io.restassured.response.Response; 33 | import org.checkerframework.checker.units.qual.C; 34 | import org.jsoup.Jsoup; 35 | import org.jsoup.nodes.Document; 36 | import org.jsoup.nodes.Element; 37 | 38 | import java.util.HashMap; 39 | import java.util.Objects; 40 | 41 | import static io.restassured.RestAssured.given; 42 | 43 | public class CartApi { 44 | 45 | private Cookies cookies; 46 | 47 | // This Default Constructor is for Guest User 48 | public CartApi() { 49 | } 50 | 51 | // This Default Constructor is for Logged-in User 52 | public CartApi(Cookies cookies) { 53 | this.cookies = cookies; 54 | } 55 | 56 | public Cookies getCookies() { 57 | return cookies; 58 | } 59 | 60 | // Request URL: https://askomdch.com/?wc-ajax=add_to_cart 61 | // Request Method: POST 62 | // formParams.put("product_sku", ""); 63 | // formParams.put("product_id", productID); 64 | // formParams.put("quantity", productQuantity); 65 | public Response addToCart(int productID, int productQuantity) { 66 | 67 | Header header = new Header("content-type", "application/x-www-form-urlencoded"); 68 | Headers headers = new Headers(header); 69 | 70 | HashMap formParams = new HashMap<>(); 71 | formParams.put("product_sku", ""); 72 | formParams.put("product_id", productID); 73 | formParams.put("quantity", productQuantity); 74 | 75 | if (cookies == null) { 76 | // Creating Empty Cookies - For Guest User 77 | cookies = new Cookies(); 78 | } 79 | 80 | // Response response = given(). 81 | // // ConfigLoader.getInstance().getBaseUrl() -> https://askomdch.com/ 82 | // baseUri(ConfigLoader.getInstance().getBaseUrl()). 83 | // headers(headers). 84 | // formParams(formParams). 85 | // cookies(cookies). 86 | // // log().all() -> To log the Request details 87 | // log().all(). 88 | // when(). 89 | // // Calling the API using POST as HTTP Method 90 | // // https://askomdch.com/?wc-ajax=add_to_cart 91 | // post("?wc-ajax=add_to_cart"). 92 | // then(). 93 | // // log().all() -> To log the Response details 94 | // log().all(). 95 | // extract(). 96 | // response(); 97 | 98 | Response response= ApiRequest.post("/?wc-ajax=add_to_cart", headers, formParams, cookies); 99 | 100 | // Checking the Response Status Code 101 | if (response.getStatusCode() != 200) { 102 | throw new RuntimeException("Failed to add the product " + productID + " to the Cart. " + 103 | "HTTP Status Code: " + response.getStatusCode()); 104 | } 105 | 106 | this.cookies = response.getDetailedCookies(); 107 | return response; 108 | } 109 | 110 | // Guest User 111 | public static void main_GuestUser(String[] args) { 112 | // Guest User 113 | CartApi cartApi = new CartApi(); 114 | cartApi.addToCart(1215,1); 115 | System.out.println("cartApi.getCookies() = " + cartApi.getCookies()); 116 | } 117 | 118 | // Logged-in User 119 | public static void main_LoggedInUser(String[] args) { 120 | // Logged-in User 121 | String username = "demoUser" + new FakerUtils().generateRandomNumber(); 122 | String password = "demoPwd"; 123 | String email = username + "@gmail.com"; 124 | User user = new User(). 125 | setUsername(username). 126 | setPassword(password). 127 | setEmail(email); 128 | 129 | SignupApi signupApi = new SignupApi(); 130 | System.out.println(signupApi.registerUser(user)); 131 | System.out.println("REGISTER COOKIES: "+signupApi.getCookies()); 132 | CartApi cartApi = new CartApi(signupApi.getCookies()); 133 | cartApi.addToCart(1215,1); 134 | System.out.println("CART COOKIES: " + cartApi.getCookies()); 135 | } 136 | 137 | } -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/base/BasePage.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.base; 24 | 25 | import com.learning.pom.utils.ConfigLoader; 26 | import org.openqa.selenium.By; 27 | import org.openqa.selenium.WebDriver; 28 | import org.openqa.selenium.WebElement; 29 | import org.openqa.selenium.support.ui.ExpectedConditions; 30 | import org.openqa.selenium.support.ui.WebDriverWait; 31 | 32 | import java.time.Duration; 33 | import java.util.List; 34 | 35 | public class BasePage { 36 | 37 | protected WebDriver driver; 38 | protected WebDriverWait wait; 39 | 40 | public BasePage(WebDriver driver){ 41 | this.driver = driver; 42 | this.wait = new WebDriverWait(driver,Duration.ofSeconds(15)); 43 | 44 | // Examples 45 | // this.waitLong = new WebDriverWait(driver,Duration.ofSeconds(25)); 46 | // this.waitShort = new WebDriverWait(driver,Duration.ofSeconds(25)); 47 | 48 | } 49 | 50 | public void load(String endPoint){ 51 | // driver.get("https://askomdch.com/"+endPoint); 52 | driver.get(ConfigLoader.getInstance().getBaseUrl() +endPoint); 53 | } 54 | 55 | // Re-Usable method to handle Overlays 56 | public void waitForOverlaysToDisappear(By overlay){ 57 | List overlays = driver.findElements(overlay); 58 | System.out.println("OVERLAYS SIZE: "+overlays.size()); 59 | if(overlays.size() > 0){ 60 | 61 | // Explicit Wait 62 | // new WebDriverWait(driver, Duration.ofSeconds(15)).until( 63 | // ExpectedConditions.invisibilityOfAllElements(overlays) 64 | // ); 65 | wait.until( 66 | ExpectedConditions.invisibilityOfAllElements(overlays) 67 | ); 68 | System.out.println("OVERLAY INVISIBLE"); 69 | }else { 70 | System.out.println("OVERLAY NOT FOUND"); 71 | } 72 | } 73 | 74 | public WebElement waitForElementToBeVisible(By element){ 75 | return wait.until(ExpectedConditions.visibilityOfElementLocated(element)); 76 | } 77 | 78 | public WebElement waitForElementToBeVisible(WebElement element){ 79 | return wait.until(ExpectedConditions.visibilityOf(element)); 80 | } 81 | 82 | 83 | public WebElement waitForElementToBeClickable(By element){ 84 | return wait.until(ExpectedConditions.elementToBeClickable(element)); 85 | } 86 | public WebElement waitForElementToBeClickable(WebElement element){ 87 | return wait.until(ExpectedConditions.elementToBeClickable(element)); 88 | } 89 | }// BasePage 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/dataproviders/DataProviders.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | package com.learning.pom.dataproviders; 23 | 24 | import com.learning.pom.objects.Product; 25 | import com.learning.pom.utils.ConfigLoader; 26 | import com.learning.pom.utils.JacksonUtils; 27 | import io.restassured.builder.RequestSpecBuilder; 28 | import io.restassured.builder.ResponseSpecBuilder; 29 | import io.restassured.filter.log.LogDetail; 30 | import io.restassured.specification.RequestSpecification; 31 | import io.restassured.specification.ResponseSpecification; 32 | import org.testng.annotations.DataProvider; 33 | 34 | public class DataProviders { 35 | 36 | // @DataProvider(name = "getFeaturedProducts", parallel = true) 37 | @DataProvider(name = "getFeaturedProducts", parallel = false) 38 | public Object[] getFeaturedProducts(){ 39 | return JacksonUtils.deSerializationJSON("products.json", Product[].class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/enums/BrowserType.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.enums; 24 | 25 | public enum BrowserType { 26 | 27 | CHROME, 28 | FIREFOX 29 | 30 | }// DriverType 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/enums/EnvType.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.enums; 24 | 25 | public enum EnvType { 26 | 27 | QA, 28 | STAGE, 29 | UAT 30 | 31 | }// EnvType 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/factory/ChromeDriverManager.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | 24 | package com.learning.pom.factory; 25 | 26 | 27 | import io.github.bonigarcia.wdm.WebDriverManager; 28 | import org.openqa.selenium.WebDriver; 29 | import org.openqa.selenium.chrome.ChromeDriver; 30 | 31 | public class ChromeDriverManager implements DriverManager{ 32 | 33 | @Override 34 | public WebDriver createDriver() { 35 | WebDriverManager.chromedriver().setup(); 36 | WebDriver driver = new ChromeDriver(); 37 | driver.manage().window().maximize(); 38 | return driver; 39 | } 40 | 41 | }// ChromeDriverManager 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/factory/DriverManager.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.factory; 24 | 25 | import org.openqa.selenium.WebDriver; 26 | 27 | public interface DriverManager { 28 | WebDriver createDriver(); 29 | 30 | }// DriverManager 31 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/factory/DriverManagerFactory.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.factory; 24 | 25 | import com.learning.pom.enums.BrowserType; 26 | import io.github.bonigarcia.wdm.WebDriverManager; 27 | import org.openqa.selenium.WebDriver; 28 | import org.openqa.selenium.chrome.ChromeDriver; 29 | 30 | public class DriverManagerFactory { 31 | 32 | public static DriverManager getManager(BrowserType browserType){ 33 | switch (browserType){ 34 | case CHROME: return new ChromeDriverManager(); 35 | case FIREFOX: return new FirefoxDriverManager(); 36 | default: throw new IllegalStateException("INVALID BROWSER: "+browserType); 37 | } 38 | } 39 | 40 | }// DriverManagerFactory 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/factory/DriverManager_BeforeFactoryDesignPattern.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.factory; 24 | 25 | import com.learning.pom.enums.BrowserType; 26 | import io.github.bonigarcia.wdm.WebDriverManager; 27 | import org.openqa.selenium.WebDriver; 28 | import org.openqa.selenium.chrome.ChromeDriver; 29 | import org.openqa.selenium.firefox.FirefoxDriver; 30 | 31 | 32 | public class DriverManager_BeforeFactoryDesignPattern { 33 | 34 | // public WebDriver initializeDriver(String browser){ 35 | public WebDriver initializeDriver(String browser){ 36 | 37 | // System.setProperty("webdriver.chrome.driver","Drivers/chromedriver"); 38 | // System.setProperty("webdriver.chrome.driver","Drivers/chromedriver_incompatible"); 39 | // WebDriverManager.chromedriver().setup(); 40 | // WebDriverManager.chromedriver().cachePath("Drivers/Downloaded_By_WDM").setup(); 41 | 42 | // WebDriverManager.firefoxdriver().setup(); 43 | // WebDriver driver = new ChromeDriver(); 44 | 45 | // WebDriver driver; 46 | // String browser = System.getProperty("browser"); 47 | // switch (browser){ 48 | // case "Chrome": 49 | // WebDriverManager.chromedriver().setup(); 50 | // driver = new ChromeDriver(); 51 | // break; 52 | // case "Firefox": 53 | // WebDriverManager.firefoxdriver().setup(); 54 | // driver = new FirefoxDriver(); 55 | // break; 56 | // default: 57 | // throw new IllegalStateException("Invalid Browser name: "+browser); 58 | // }// switch 59 | 60 | WebDriver driver; 61 | // This is done to take value of the Browser from Command Line 62 | // mvn clean test -Dbrowser=CHROME 63 | // mvn clean test -Dbrowser=FIREFOX 64 | // String browser = System.getProperty("browser"); 65 | 66 | // If we do not pass any value using command line, 67 | // Then, Chrome Browser will be taken by default 68 | // mvn clean test 69 | // We can execute the test cases individually as well 70 | // String browser = System.getProperty("browser","CHROME"); 71 | 72 | switch (BrowserType.valueOf(browser.toUpperCase())){ 73 | case CHROME: 74 | WebDriverManager.chromedriver().setup(); 75 | driver = new ChromeDriver(); 76 | break; 77 | case FIREFOX: 78 | WebDriverManager.firefoxdriver().setup(); 79 | driver = new FirefoxDriver(); 80 | break; 81 | default: 82 | throw new IllegalStateException("Invalid Browser name: "+browser); 83 | }// switch 84 | 85 | driver.manage().window().maximize(); 86 | 87 | // As long as the Driver Session is active, 88 | // This wait will be applied to the Driver Session 89 | // driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(15)); 90 | 91 | return driver; 92 | } 93 | }// DriverManager 94 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/factory/FirefoxDriverManager.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.factory; 24 | 25 | 26 | import io.github.bonigarcia.wdm.WebDriverManager; 27 | import org.openqa.selenium.WebDriver; 28 | import org.openqa.selenium.chrome.ChromeDriver; 29 | import org.openqa.selenium.firefox.FirefoxDriver; 30 | 31 | public class FirefoxDriverManager implements DriverManager{ 32 | 33 | @Override 34 | public WebDriver createDriver() { 35 | WebDriverManager.firefoxdriver().setup(); 36 | WebDriver driver = new FirefoxDriver(); 37 | driver.manage().window().maximize(); 38 | return driver; 39 | } 40 | 41 | }// FirefoxDriverManager 42 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/objects/BillingAddress.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.objects; 24 | 25 | public class BillingAddress { 26 | 27 | private String firstName; 28 | private String lastName; 29 | private String addressLineOne; 30 | private String city; 31 | private String postalCode; 32 | private String email; 33 | private String country; 34 | private String state; 35 | 36 | // Default Constructor 37 | public BillingAddress() { 38 | 39 | } 40 | // Parameterized Constructor 41 | public BillingAddress(String firstName, String lastName, String addressLineOne, String city, String postalCode, 42 | String email) { 43 | super(); 44 | this.firstName = firstName; 45 | this.lastName = lastName; 46 | this.addressLineOne = addressLineOne; 47 | this.city = city; 48 | this.postalCode = postalCode; 49 | this.email = email; 50 | } 51 | 52 | // Parameterized Constructor 53 | public BillingAddress(String firstName, String lastName, String addressLineOne, String city, String postalCode, 54 | String email, String country, String state) { 55 | super(); 56 | this.firstName = firstName; 57 | this.lastName = lastName; 58 | this.addressLineOne = addressLineOne; 59 | this.city = city; 60 | this.postalCode = postalCode; 61 | this.email = email; 62 | this.country = country; 63 | this.state = state; 64 | } 65 | 66 | public String getCountry() { 67 | return country; 68 | } 69 | 70 | public void setCountry(String country) { 71 | this.country = country; 72 | } 73 | 74 | public String getState() { 75 | return state; 76 | } 77 | 78 | public void setState(String state) { 79 | this.state = state; 80 | } 81 | 82 | public String getFirstName() { 83 | return firstName; 84 | } 85 | 86 | public BillingAddress setFirstName(String firstName) { 87 | this.firstName = firstName; 88 | return this; 89 | } 90 | 91 | public String getLastName() { 92 | return lastName; 93 | } 94 | 95 | public BillingAddress setLastName(String lastName) { 96 | this.lastName = lastName; 97 | return this; 98 | } 99 | 100 | public String getAddressLineOne() { 101 | return addressLineOne; 102 | } 103 | 104 | public BillingAddress setAddressLineOne(String addressLineOne) { 105 | this.addressLineOne = addressLineOne; 106 | return this; 107 | } 108 | 109 | public String getCity() { 110 | return city; 111 | } 112 | 113 | public BillingAddress setCity(String city) { 114 | this.city = city; 115 | return this; 116 | } 117 | 118 | public String getPostalCode() { 119 | return postalCode; 120 | } 121 | 122 | public BillingAddress setPostalCode(String postalCode) { 123 | this.postalCode = postalCode; 124 | return this; 125 | } 126 | 127 | public String getEmail() { 128 | return email; 129 | } 130 | 131 | public BillingAddress setEmail(String email) { 132 | this.email = email; 133 | return this; 134 | } 135 | 136 | @Override 137 | public String toString() { 138 | return "BillingAddress [firstName=" + firstName + ", lastName=" + lastName + ", addressLineOne=" 139 | + addressLineOne + ", city=" + city + ", postalCode=" + postalCode + ", email=" + email + ", country=" 140 | + country + ", state=" + state + "]"; 141 | } 142 | }// BillingAddress 143 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/objects/Product.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.objects; 24 | 25 | import com.learning.pom.utils.JacksonUtils; 26 | 27 | import java.io.IOException; 28 | 29 | public class Product { 30 | 31 | private int id; 32 | private String name; 33 | 34 | public Product() { 35 | } 36 | 37 | public Product(int id, String name) { 38 | this.id = id; 39 | this.name = name; 40 | } 41 | 42 | /* Will take the product ID and set */ 43 | public Product(int id) { 44 | Product[] products = JacksonUtils.deSerializationJSON("products.json", Product[].class); 45 | for (Product product : products) { 46 | if (product.getId() == id) { 47 | this.id = id; 48 | this.name = product.getName(); 49 | } 50 | } 51 | } 52 | 53 | public int getId() { 54 | return id; 55 | } 56 | 57 | public void setId(int id) { 58 | this.id = id; 59 | } 60 | 61 | public String getName() { 62 | return name; 63 | } 64 | 65 | public void setName(String name) { 66 | this.name = name; 67 | } 68 | 69 | @Override 70 | public String toString() { 71 | return "Product [id=" + id + ", name=" + name + "]"; 72 | } 73 | 74 | }// Product 75 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/objects/User.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.objects; 24 | 25 | import com.learning.pom.utils.JacksonUtils; 26 | 27 | public class User { 28 | 29 | private String username; 30 | private String password; 31 | private String email; 32 | 33 | public User() { 34 | } 35 | 36 | public User(String email, String password) { 37 | super(); 38 | this.email = email; 39 | this.password = password; 40 | } 41 | 42 | public User(String username, String password, String email) { 43 | super(); 44 | this.username = username; 45 | this.password = password; 46 | this.email = email; 47 | } 48 | 49 | public String getEmail() { 50 | return email; 51 | } 52 | 53 | public User setEmail(String email) { 54 | this.email = email; 55 | return this; 56 | } 57 | 58 | public String getUsername() { 59 | return username; 60 | } 61 | 62 | public User setUsername(String username) { 63 | this.username = username; 64 | return this; 65 | } 66 | 67 | public String getPassword() { 68 | return password; 69 | } 70 | 71 | public User setPassword(String password) { 72 | this.password = password; 73 | return this; 74 | } 75 | 76 | @Override 77 | public String toString() { 78 | return "User [username=" + username + ", password=" + password + ", email=" + email + "]"; 79 | } 80 | 81 | }// User 82 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/pages/CartPage.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.pages; 24 | 25 | import com.learning.pom.base.BasePage; 26 | import org.openqa.selenium.By; 27 | import org.openqa.selenium.WebDriver; 28 | import org.openqa.selenium.WebElement; 29 | import org.openqa.selenium.support.CacheLookup; 30 | import org.openqa.selenium.support.FindBy; 31 | import org.openqa.selenium.support.How; 32 | import org.openqa.selenium.support.PageFactory; 33 | import org.openqa.selenium.support.ui.ExpectedConditions; 34 | 35 | public class CartPage extends BasePage { 36 | 37 | public CartPage(WebDriver driver){ 38 | super(driver); 39 | // PageFactory is a class that has a method initElements() 40 | // initElements() method is used to initialize the Page Elements. 41 | PageFactory.initElements(driver, this); 42 | } 43 | 44 | // private final By productName = By.cssSelector("td[class='product-name'] a"); 45 | // private final By checkoutBtn = By.xpath("//a[normalize-space()='Proceed to checkout']"); 46 | 47 | @FindBy(how = How.CSS, using = "td[class='product-name'] a") 48 | private WebElement productName; 49 | 50 | @FindBy(xpath = "//a[normalize-space()='Proceed to checkout']") 51 | @CacheLookup 52 | private WebElement checkoutBtn; 53 | 54 | public String getProductName() { 55 | // return driver.findElement(productName).getText(); 56 | // return wait.until(ExpectedConditions.visibilityOfElementLocated(productName)).getText(); 57 | return waitForElementToBeVisible(productName).getText(); 58 | } 59 | 60 | public CheckoutPage checkout(){ 61 | // wait.until(ExpectedConditions.elementToBeClickable(checkoutBtn)); 62 | // driver.findElement(checkoutBtn).click(); 63 | 64 | // wait.until(ExpectedConditions.elementToBeClickable(checkoutBtn)).click(); 65 | waitForElementToBeClickable(checkoutBtn).click(); 66 | return new CheckoutPage(driver); 67 | } 68 | 69 | }// CartPage 70 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/pages/HomePage.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.pages; 24 | 25 | import com.learning.pom.base.BasePage; 26 | import com.learning.pom.pages.components.MyHeader; 27 | import com.learning.pom.pages.components.ProductThumbnail; 28 | import io.qameta.allure.Step; 29 | import org.openqa.selenium.By; 30 | import org.openqa.selenium.WebDriver; 31 | import org.openqa.selenium.support.ui.ExpectedConditions; 32 | 33 | public class HomePage extends BasePage { 34 | 35 | // storeMenuLink is marked as private 36 | // This variable will be available inside this class only 37 | // private final By storeMenuLink = By.cssSelector("#menu-item-1227 > a"); 38 | // Moved in MyHeader class (Composition) 39 | // private final By viewCartLink = By.cssSelector("a[title='View cart']"); 40 | // Moved in ProductThumbnail class (Composition) 41 | 42 | private MyHeader myHeader; 43 | private ProductThumbnail productThumbnail; 44 | 45 | @Step 46 | public MyHeader getMyHeader() { 47 | return myHeader; 48 | } 49 | 50 | public ProductThumbnail getProductThumbnail() { 51 | return productThumbnail; 52 | } 53 | public HomePage(WebDriver driver){ 54 | super(driver); 55 | myHeader = new MyHeader(driver); 56 | productThumbnail = new ProductThumbnail(driver); 57 | } 58 | 59 | @Step 60 | public HomePage load(){ 61 | load(""); 62 | 63 | // Explicit Wait - Implement more Strategies 64 | // Title 65 | wait.until(ExpectedConditions.titleIs("AskOmDch – Become a Selenium automation expert!")); 66 | wait.until(ExpectedConditions.titleContains("OmDch")); 67 | 68 | // URL 69 | wait.until(ExpectedConditions.urlContains("askomdch.com")); 70 | 71 | return this; 72 | } 73 | 74 | // public void clickStoreMenuLink(){ 75 | // driver.findElement(storeMenuLink).click(); 76 | // } 77 | 78 | // public StorePage navigateToStoreUsingMenu(){ 79 | // // driver.findElement(storeMenuLink).click(); 80 | // waitForElementToBeClickable(storeMenuLink).click(); 81 | // 82 | // // This is the example of Fluent Interface 83 | // // After clicking on a Store Menu link, User is navigated to Store Page 84 | // return new StorePage(driver); 85 | // } 86 | 87 | // getAddToCartBtnElement(), clickAddToCartBtn(), clickViewCart() 88 | // We have copied these methods from StorePage class 89 | // This is a duplication of Code 90 | // Will use COMPOSITION to overcome this issue 91 | // Principle DRY (Do not Repeat Yourself) has to be maintained 92 | // private By getAddToCartBtnElement(String productName){ 93 | // // addToCartBtn = By.xpath("//a[@aria-label='Add “Blue Shoes” to your cart']"); 94 | // return By.xpath("//a[@aria-label='Add “"+productName+"” to your cart']"); 95 | // } 96 | // public HomePage clickAddToCartBtn(String productName){ 97 | // By addToCartBtn = getAddToCartBtnElement(productName); 98 | // // driver.findElement(addToCartBtn).click(); 99 | // waitForElementToBeClickable(addToCartBtn).click(); 100 | // return this; 101 | // } 102 | // 103 | // public CartPage clickViewCart(){ 104 | // // driver.findElement(viewCartLink).click(); 105 | // waitForElementToBeClickable(viewCartLink).click(); 106 | // return new CartPage(driver); 107 | // } 108 | 109 | }// HomePage 110 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/pages/StorePage.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.pages; 24 | 25 | import com.learning.pom.base.BasePage; 26 | import com.learning.pom.pages.components.ProductThumbnail; 27 | import org.openqa.selenium.By; 28 | import org.openqa.selenium.WebDriver; 29 | 30 | public class StorePage extends BasePage { 31 | 32 | private final By searchFld = By.xpath("//input[@id='woocommerce-product-search-field-0']"); 33 | private final By searchBtn = By.xpath("//button[normalize-space()='Search']"); 34 | private final By title = By.cssSelector(".woocommerce-products-header__title.page-title"); 35 | 36 | // Hard coded String - Product name has been used to find the Element 37 | // private final By addToCartBtn = By.xpath("//a[@aria-label='Add “Blue Shoes” to your cart']"); 38 | 39 | // private final By viewCartLink = By.cssSelector("a[title='View cart']"); 40 | // Moved in ProductThumbnail (Composition) 41 | 42 | private ProductThumbnail productThumbnail; 43 | public ProductThumbnail getProductThumbnail() { 44 | return productThumbnail; 45 | } 46 | public StorePage(WebDriver driver){ 47 | super(driver); 48 | productThumbnail = new ProductThumbnail(driver); 49 | } 50 | 51 | // public void enterTxtInSearchFld(String txt){ 52 | // driver.findElement(searchFld).sendKeys(txt); 53 | // } 54 | 55 | public StorePage load(){ 56 | load("store"); 57 | return this; 58 | } 59 | 60 | // Structural Page Object 61 | public StorePage enterTxtInSearchFld(String txt){ 62 | // driver.findElement(searchFld).sendKeys(txt); 63 | waitForElementToBeVisible(searchFld).sendKeys(txt); 64 | 65 | // This is the example of Builder Pattern 66 | // After filling value in textBox, User is on the same Page (StorePage) 67 | return this; 68 | } 69 | 70 | // Structural Page Object 71 | public StorePage clearSearchFld(){ 72 | // driver.findElement(searchFld).clear(); 73 | waitForElementToBeVisible(searchFld).clear(); 74 | return this; 75 | } 76 | 77 | // Structural Page Object 78 | public StorePage clickSearchBtn(){ 79 | // driver.findElement(searchBtn).click(); 80 | waitForElementToBeClickable(searchBtn).click(); 81 | return this; 82 | } 83 | 84 | 85 | // Functional Page Object 86 | public StorePage searchProduct(String productName){ 87 | try { 88 | Thread.sleep(5000); 89 | } catch (InterruptedException e) { 90 | throw new RuntimeException(e); 91 | } 92 | clearSearchFld(); 93 | enterTxtInSearchFld(productName); 94 | clickSearchBtn(); 95 | return this; 96 | } 97 | 98 | public String getTitle(){ 99 | // return driver.findElement(title).getText(); 100 | return waitForElementToBeVisible(title).getText(); 101 | 102 | } 103 | 104 | // 105 | // private By getAddToCartBtnElement(String productName){ 106 | // // addToCartBtn = By.xpath("//a[@aria-label='Add “Blue Shoes” to your cart']"); 107 | // return By.xpath("//a[@aria-label='Add “"+productName+"” to your cart']"); 108 | // } 109 | // public StorePage clickAddToCartBtn(String productName){ 110 | // By addToCartBtn = getAddToCartBtnElement(productName); 111 | // 112 | // // driver.findElement(addToCartBtn).click(); 113 | // waitForElementToBeClickable(addToCartBtn).click(); 114 | // 115 | // return this; 116 | // } 117 | // 118 | // public CartPage clickViewCart(){ 119 | // // driver.findElement(viewCartLink).click(); 120 | // waitForElementToBeClickable(viewCartLink).click(); 121 | // 122 | // return new CartPage(driver); 123 | // } 124 | 125 | 126 | }// StorePage 127 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/pages/components/MyHeader.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.pages.components; 24 | 25 | import com.learning.pom.base.BasePage; 26 | import com.learning.pom.pages.CartPage; 27 | import com.learning.pom.pages.StorePage; 28 | import io.qameta.allure.Step; 29 | import org.openqa.selenium.By; 30 | import org.openqa.selenium.WebDriver; 31 | 32 | public class MyHeader extends BasePage { 33 | 34 | private final By storeMenuLink = By.cssSelector("#menu-item-1227 > a"); 35 | 36 | public MyHeader(WebDriver driver) { 37 | super(driver); 38 | } 39 | 40 | @Step 41 | public StorePage navigateToStoreUsingMenu(){ 42 | // driver.findElement(storeMenuLink).click(); 43 | waitForElementToBeClickable(storeMenuLink).click(); 44 | 45 | // This is the example of Fluent Interface 46 | // After clicking on a Store Menu link, User is navigated to Store Page 47 | return new StorePage(driver); 48 | } 49 | 50 | }// MyHeader 51 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/pages/components/ProductThumbnail.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.pages.components; 24 | 25 | import com.learning.pom.base.BasePage; 26 | import com.learning.pom.pages.CartPage; 27 | import com.learning.pom.pages.CheckoutPage; 28 | import com.learning.pom.pages.HomePage; 29 | import org.openqa.selenium.By; 30 | import org.openqa.selenium.WebDriver; 31 | import org.openqa.selenium.WebElement; 32 | import org.openqa.selenium.support.CacheLookup; 33 | import org.openqa.selenium.support.FindBy; 34 | import org.openqa.selenium.support.How; 35 | import org.openqa.selenium.support.PageFactory; 36 | 37 | public class ProductThumbnail extends BasePage { 38 | 39 | private final By viewCartLink = By.cssSelector("a[title='View cart']"); 40 | public ProductThumbnail(WebDriver driver) { 41 | super(driver); 42 | } 43 | 44 | private By getAddToCartBtnElement(String productName){ 45 | // addToCartBtn = By.xpath("//a[@aria-label='Add “Blue Shoes” to your cart']"); 46 | return By.xpath("//a[@aria-label='Add “"+productName+"” to your cart']"); 47 | } 48 | public ProductThumbnail clickAddToCartBtn(String productName){ 49 | By addToCartBtn = getAddToCartBtnElement(productName); 50 | // driver.findElement(addToCartBtn).click(); 51 | waitForElementToBeClickable(addToCartBtn).click(); 52 | return this; 53 | } 54 | 55 | public CartPage clickViewCart(){ 56 | // driver.findElement(viewCartLink).click(); 57 | waitForElementToBeClickable(viewCartLink).click(); 58 | return new CartPage(driver); 59 | } 60 | 61 | }// ProductThumbnail 62 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/tests/_02_NavigationTest.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.tests; 24 | 25 | import com.learning.pom.base.BaseTest; 26 | import com.learning.pom.pages.HomePage; 27 | import com.learning.pom.pages.StorePage; 28 | import io.qameta.allure.*; 29 | import org.testng.Assert; 30 | import org.testng.annotations.Test; 31 | 32 | 33 | 34 | 35 | @Epic("ALLURE - AskOmDch UI") 36 | @Feature("ALLURE - Navigation") 37 | public class _02_NavigationTest extends BaseTest { 38 | 39 | @Story("ALLURE - Navigation using the links : Home and Store") 40 | // @Test 41 | // Description provided will be shown in the Allure Reports 42 | // Previously - navigateFromHomeToStoreUsingMainMenu 43 | // Now - ALLURE - Navigate From Home To Store Using Main Menu 44 | @Test(description = "ALLURE - Navigate From Home To Store Using Main Menu") 45 | @Description("ALLURE - Description -> Navigate From Home To Store Using Main Menu") 46 | @Link("https://example.org") 47 | @Link(name = "allure", type = "mylink") 48 | @TmsLink("12345") // @TmsLink -> Manual test case written in Test Management System 49 | @Issue("4897")// @Issue -> For the issue already raised 50 | public void navigateFromHomeToStoreUsingMainMenu(){ 51 | 52 | StorePage storePage = new HomePage(getDriver()). 53 | load(). 54 | getMyHeader().navigateToStoreUsingMenu(); 55 | 56 | Assert.assertTrue(storePage.getTitle().contains("Store"), 57 | "Assertion for Heading that comes after landing on Store Page."); 58 | 59 | } 60 | } 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/tests/_03_SearchTest.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.tests; 24 | 25 | import com.learning.pom.base.BaseTest; 26 | import com.learning.pom.pages.HomePage; 27 | import com.learning.pom.pages.StorePage; 28 | import org.testng.Assert; 29 | import org.testng.annotations.Test; 30 | 31 | 32 | public class _03_SearchTest extends BaseTest { 33 | 34 | @Test 35 | public void searchWithPartialMatch(){ 36 | String searchFor = "Blue"; 37 | StorePage storePage = new StorePage(getDriver()). 38 | load(). 39 | searchProduct(searchFor); 40 | 41 | Assert.assertEquals(storePage.getTitle(),"Search results: “"+searchFor+"”", 42 | "Assertion for Heading that comes after click on Search button for a specific product."); 43 | 44 | } 45 | } 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/tests/_04_AddToCartTest.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.tests; 24 | 25 | import com.learning.pom.base.BaseTest; 26 | import com.learning.pom.objects.Product; 27 | import com.learning.pom.pages.CartPage; 28 | import com.learning.pom.pages.HomePage; 29 | import com.learning.pom.pages.StorePage; 30 | import com.learning.pom.utils.JacksonUtils; 31 | import org.testng.Assert; 32 | import org.testng.annotations.DataProvider; 33 | import org.testng.annotations.Test; 34 | 35 | import java.util.Iterator; 36 | 37 | 38 | public class _04_AddToCartTest extends BaseTest { 39 | 40 | @Test 41 | public void addToCartFromStorePage(){ 42 | 43 | Product product = new Product(1215); 44 | 45 | CartPage cartPage = new StorePage(getDriver()). 46 | load(). 47 | getProductThumbnail(). 48 | clickAddToCartBtn(product.getName()). 49 | clickViewCart(); 50 | 51 | Assert.assertEquals(cartPage.getProductName(), product.getName(), 52 | "Assertion for Product Name that comes after click on View Cart link."); 53 | 54 | // Intentionally, Failing this test case to check the screenshot 55 | // Assert.assertEquals(cartPage.getProductName(), product.getName()+"FAIL", 56 | // "Assertion for Product Name that comes after click on View Cart link."); 57 | } 58 | } 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/tests/_05_Atomic_LoginTest.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.tests; 24 | 25 | import com.learning.pom.api.actions.CartApi; 26 | import com.learning.pom.api.actions.SignupApi; 27 | import com.learning.pom.base.BaseTest; 28 | import com.learning.pom.objects.Product; 29 | import com.learning.pom.objects.User; 30 | import com.learning.pom.pages.CheckoutPage; 31 | import com.learning.pom.utils.FakerUtils; 32 | import org.testng.Assert; 33 | import org.testng.annotations.Test; 34 | 35 | 36 | public class _05_Atomic_LoginTest extends BaseTest { 37 | 38 | @Test 39 | public void loginDuringCheckout(){ 40 | 41 | // Setting the Application State using API - START 42 | // User State 43 | String username = "demoUser" + new FakerUtils().generateRandomNumber(); 44 | String password = "demoPwd"; 45 | String email = username + "@gmail.com"; 46 | User user = new User(). 47 | setUsername(username). 48 | setPassword(password). 49 | setEmail(email); 50 | 51 | SignupApi signupApi = new SignupApi(); 52 | signupApi.registerUser(user); 53 | 54 | // Application State 55 | // CartApi has 2 Constructors 56 | // This is for Guest User 57 | CartApi cartApi = new CartApi(); 58 | 59 | Product product = new Product(1215); 60 | 61 | cartApi.addToCart(product.getId(),1); 62 | 63 | CheckoutPage checkoutPage = new CheckoutPage(getDriver()).load(); 64 | 65 | injectCookiesIntoBrowser(cartApi.getCookies()); 66 | 67 | // Setting the Application State using API - END 68 | 69 | checkoutPage. 70 | load(). 71 | clickHereToLoginLink(). 72 | login(user); 73 | 74 | Assert.assertTrue(checkoutPage.getProductName().contains(product.getName()), 75 | "Assertion for Product Name on the Checkout Page " + 76 | "that comes after login and Add Product to Cart."); 77 | 78 | } 79 | 80 | } 81 | 82 | 83 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/tests/_06_Atomic_CheckoutTest.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.tests; 24 | 25 | import com.learning.pom.api.actions.CartApi; 26 | import com.learning.pom.api.actions.SignupApi; 27 | import com.learning.pom.base.BaseTest; 28 | import com.learning.pom.objects.BillingAddress; 29 | import com.learning.pom.objects.Product; 30 | import com.learning.pom.objects.User; 31 | import com.learning.pom.pages.CheckoutPage; 32 | import com.learning.pom.utils.FakerUtils; 33 | import com.learning.pom.utils.JacksonUtils; 34 | import org.testng.Assert; 35 | import org.testng.annotations.Test; 36 | 37 | 38 | public class _06_Atomic_CheckoutTest extends BaseTest { 39 | 40 | @Test 41 | public void guestCheckoutUsingDirectBankTransfer(){ 42 | // Setting the Application State using API - START 43 | CheckoutPage checkoutPage = new CheckoutPage(getDriver()).load(); 44 | 45 | // CartApi has 2 Constructors 46 | // This is for Guest User 47 | CartApi cartApi = new CartApi(); 48 | cartApi.addToCart(1215, 1); 49 | injectCookiesIntoBrowser(cartApi.getCookies()); 50 | 51 | // Setting the Application State using API - END 52 | 53 | // Reusable Method to De-serialize JSON (Generic Method) 54 | BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 55 | "myBillingAddress.json",BillingAddress.class); 56 | 57 | checkoutPage. 58 | load(). 59 | setBillingAddress(billingAddress). 60 | selectDirectBankTransfer(). 61 | placeOrder(); 62 | 63 | // Thread.sleep(5000); 64 | Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 65 | "Assertion for Thank you Message that comes after order is placed"); 66 | 67 | }// guestCheckoutUsingDirectBankTransfer 68 | 69 | 70 | @Test 71 | public void loginAndCheckoutUsingDirectBankTransfer(){ 72 | // Setting the Application State using API - START 73 | // User State 74 | String username = "demoUser" + new FakerUtils().generateRandomNumber(); 75 | String password = "demoPwd"; 76 | String email = username + "@gmail.com"; 77 | User user = new User(). 78 | setUsername(username). 79 | setPassword(password). 80 | setEmail(email); 81 | 82 | SignupApi signupApi = new SignupApi(); 83 | signupApi.registerUser(user); 84 | 85 | // Application State 86 | // CartApi has 2 Constructors 87 | // This is for Logged-in User 88 | CartApi cartApi = new CartApi(signupApi.getCookies()); 89 | 90 | Product product = new Product(1215); 91 | 92 | cartApi.addToCart(product.getId(),1); 93 | 94 | CheckoutPage checkoutPage = new CheckoutPage(getDriver()).load(); 95 | 96 | // injectCookiesIntoBrowser(cartApi.getCookies()); 97 | 98 | // We want User to be logged in already (With APIs) 99 | injectCookiesIntoBrowser(signupApi.getCookies()); 100 | 101 | // Setting the Application State using API - END 102 | 103 | // Reusable Method to De-serialize JSON (Generic Method) 104 | BillingAddress billingAddress = JacksonUtils.deSerializationJSON( 105 | "myBillingAddress.json",BillingAddress.class); 106 | 107 | checkoutPage. 108 | load(). 109 | setBillingAddress(billingAddress). 110 | selectDirectBankTransfer(). 111 | placeOrder(); 112 | 113 | // Thread.sleep(5000); 114 | Assert.assertEquals(checkoutPage.getNotice(), "Thank you. Your order has been received.", 115 | "Assertion for Thank you Message that comes after order is placed"); 116 | 117 | }// loginAndCheckoutUsingDirectBankTransfer 118 | } 119 | 120 | 121 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/tests/_07_DataProvider_AddToCartTest.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.tests; 24 | 25 | import com.learning.pom.base.BaseTest; 26 | import com.learning.pom.dataproviders.DataProviders; 27 | import com.learning.pom.objects.Product; 28 | import com.learning.pom.pages.CartPage; 29 | import com.learning.pom.pages.HomePage; 30 | import com.learning.pom.pages.StorePage; 31 | import com.learning.pom.utils.JacksonUtils; 32 | import org.testng.Assert; 33 | import org.testng.annotations.DataProvider; 34 | import org.testng.annotations.Test; 35 | 36 | 37 | public class _07_DataProvider_AddToCartTest extends BaseTest { 38 | 39 | // @Test 40 | // public void addToCartFeaturedProducts(){ 41 | // CartPage cartPage = new HomePage(getDriver()). 42 | // load(). 43 | // clickAddToCartBtn("Blue Shoes"). 44 | // clickViewCart(); 45 | // 46 | // Assert.assertEquals(cartPage.getProductName(), "Blue Shoes" , 47 | // "Assertion for Product Name that comes after click on View Cart link."); 48 | // } 49 | 50 | // @Test(dataProvider = "getFeaturedProducts") 51 | @Test(dataProvider = "getFeaturedProducts", dataProviderClass = DataProviders.class) 52 | public void addToCartFeaturedProducts(Product product){ 53 | CartPage cartPage = new HomePage(getDriver()). 54 | load(). 55 | getProductThumbnail(). 56 | clickAddToCartBtn(product.getName()). 57 | clickViewCart(); 58 | 59 | Assert.assertEquals(cartPage.getProductName(), product.getName() , 60 | "Assertion for Product Name that comes after click on View Cart link."); 61 | } 62 | 63 | // @DataProvider(name = "getFeaturedProducts", parallel = true) 64 | // public Object[] getFeaturedProducts(){ 65 | // return JacksonUtils.deSerializationJSON("products.json", Product[].class); 66 | // } 67 | 68 | } 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/utils/ConfigLoader.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.utils; 24 | 25 | import com.learning.pom.enums.EnvType; 26 | 27 | import java.util.Properties; 28 | 29 | public class ConfigLoader { 30 | 31 | private String path_resources_test = "src/test/resources/"; 32 | private String file_properties_extension = ".properties"; 33 | private String config_qa_FilePath = path_resources_test + "config-qa"+ file_properties_extension; 34 | private String config_stg_FilePath = path_resources_test + "config-stg"+ file_properties_extension; 35 | private String config_uat_FilePath = path_resources_test + "config-uat"+ file_properties_extension; 36 | 37 | 38 | private final Properties properties; 39 | private static ConfigLoader configLoader; 40 | 41 | private ConfigLoader(){ 42 | 43 | // Setting QA as the default environment 44 | // This can be overridden by passing parameter using Maven Command Line 45 | String env = System.getProperty("env", EnvType.QA.toString()); 46 | 47 | switch (EnvType.valueOf(env)){ 48 | case QA: 49 | properties = PropertyUtils.propertyLoader(config_qa_FilePath); 50 | break; 51 | case STAGE: 52 | properties = PropertyUtils.propertyLoader(config_stg_FilePath); 53 | break; 54 | case UAT: 55 | properties = PropertyUtils.propertyLoader(config_uat_FilePath); 56 | break; 57 | default: 58 | throw new IllegalStateException("Invalid ENV type: " + env); 59 | } 60 | } 61 | 62 | public static ConfigLoader getInstance(){ 63 | // If configLoader == null, 64 | // It means no instance of this class has been created 65 | if (configLoader == null){ 66 | configLoader = new ConfigLoader(); 67 | } 68 | return configLoader; 69 | } 70 | 71 | public String getBaseUrl(){ 72 | String prop = properties.getProperty("baseUrl"); 73 | if(prop !=null){ 74 | return prop; 75 | }else { 76 | throw new RuntimeException("Property "+"\"baseUrl\""+" is not specified in the config file."); 77 | } 78 | } 79 | 80 | public String getUsername(){ 81 | String prop = properties.getProperty("username"); 82 | if(prop !=null){ 83 | return prop; 84 | }else { 85 | throw new RuntimeException("Property "+"\"username\""+" is not specified in the config file."); 86 | } 87 | } 88 | 89 | public String getPassword(){ 90 | String prop = properties.getProperty("password"); 91 | if(prop !=null){ 92 | return prop; 93 | }else { 94 | throw new RuntimeException("Property "+"\"password\""+" is not specified in the config file."); 95 | } 96 | } 97 | 98 | 99 | 100 | }// ConfigLoader 101 | 102 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/utils/CookieUtils.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.utils; 24 | 25 | import com.github.javafaker.Faker; 26 | import io.restassured.http.Cookies; 27 | import org.openqa.selenium.Cookie; 28 | 29 | import java.util.ArrayList; 30 | import java.util.List; 31 | 32 | public class CookieUtils { 33 | 34 | public List convertRestAssuredCookiesToSeleniumCookies(Cookies cookies){ 35 | List restAssuredCookies = new ArrayList<>(); 36 | restAssuredCookies = cookies.asList(); 37 | 38 | List seleniumCookies = new ArrayList<>(); 39 | 40 | for (io.restassured.http.Cookie restAssuredCookie: restAssuredCookies) { 41 | seleniumCookies.add(new Cookie( 42 | restAssuredCookie.getName(), 43 | restAssuredCookie.getValue(), 44 | restAssuredCookie.getDomain(), 45 | restAssuredCookie.getPath(), 46 | restAssuredCookie.getExpiryDate(), 47 | restAssuredCookie.isSecured(), 48 | restAssuredCookie.isHttpOnly(), 49 | restAssuredCookie.getSameSite() 50 | )); 51 | } 52 | return seleniumCookies; 53 | } 54 | } 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/utils/FakerUtils.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.utils; 24 | 25 | import com.github.javafaker.Faker; 26 | 27 | public class FakerUtils { 28 | 29 | public long generateRandomNumber(){ 30 | Faker faker = new Faker(); 31 | // return faker.number().randomNumber(); 32 | return faker.number().randomNumber(10, true); 33 | } 34 | 35 | } 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/utils/JacksonUtils.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.utils; 24 | 25 | import com.fasterxml.jackson.databind.ObjectMapper; 26 | import com.learning.pom.objects.BillingAddress; 27 | 28 | import java.io.IOException; 29 | import java.io.InputStream; 30 | 31 | public class JacksonUtils { 32 | 33 | // Billing Address: De-serialize JSON 34 | // public static BillingAddress deSerializationJSON(InputStream is, BillingAddress billingAddress){ 35 | // ObjectMapper objectMapper = new ObjectMapper(); 36 | // try { 37 | // return objectMapper.readValue(is, billingAddress.getClass()); 38 | // } catch (IOException e) { 39 | // throw new RuntimeException(e); 40 | // } 41 | // } 42 | 43 | // Reusable Method to De-serialize JSON 44 | // Generic method -. can be used for any class 45 | public static T deSerializationJSON(String fileName, Class T){ 46 | InputStream is = JacksonUtils.class.getClassLoader().getResourceAsStream(fileName); 47 | ObjectMapper objectMapper = new ObjectMapper(); 48 | try { 49 | return objectMapper.readValue(is, T); 50 | } catch (IOException e) { 51 | throw new RuntimeException(e); 52 | } 53 | } 54 | 55 | }// JacksonUtils -------------------------------------------------------------------------------- /src/test/java/com/learning/pom/utils/PropertyUtils.java: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | package com.learning.pom.utils; 24 | 25 | import java.io.BufferedReader; 26 | import java.io.FileNotFoundException; 27 | import java.io.FileReader; 28 | import java.io.IOException; 29 | import java.util.Properties; 30 | 31 | public class PropertyUtils { 32 | 33 | public static Properties propertyLoader(String filePath){ 34 | 35 | Properties properties = new Properties(); 36 | BufferedReader bufferedReader; 37 | 38 | try { 39 | bufferedReader = new BufferedReader(new FileReader(filePath)); 40 | try { 41 | properties.load(bufferedReader); 42 | bufferedReader.close(); 43 | } catch (IOException ioException) { 44 | ioException.printStackTrace(); 45 | throw new RuntimeException("Failed to load the properties file: "+filePath); 46 | } 47 | } catch (FileNotFoundException fileNotFoundException) { 48 | fileNotFoundException.printStackTrace(); 49 | throw new RuntimeException("Failed to fi nd the properties file: "+filePath); 50 | } 51 | return properties; 52 | 53 | }// propertyLoader 54 | 55 | }// PropertyUtils 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /src/test/resources/allure.properties: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | allure.results.directory=reports/allure/allure-results 24 | allure.link.issue.pattern=https://example.org/browse/{} 25 | allure.link.tms.pattern=https://example.org/browse/{} 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/test/resources/config-qa.properties: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | baseUrl=https://askomdch.com/ 24 | username=dummyUser875@gmail.com 25 | password=HidummyUser -------------------------------------------------------------------------------- /src/test/resources/config-stg.properties: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | baseUrl=https://stg-askomdch.com/ 24 | username=stg-dummyUser875@gmail.com 25 | password=stg-HidummyUser -------------------------------------------------------------------------------- /src/test/resources/config-uat.properties: -------------------------------------------------------------------------------- 1 | /** 2 | # * @author Rajat Verma 3 | # * https://www.linkedin.com/in/rajat-v-3b0685128/ 4 | # * https://github.com/rajatt95 5 | # * https://rajatt95.github.io/ 6 | # * 7 | # * Course: Selenium Java Test Framework & Best Practices - Masterclass (https://www.udemy.com/course/selenium-java-test-framework/) 8 | # * Tutor: Omprakash Chavan (https://www.udemy.com/user/omprakash-chavan/) 9 | 10 | # * Code Repository: https://github.com/rajatt95/TestAutomationFramework_UDEMY_OC_Web_Selenium_Java_V2 11 | 12 | # * Document(s): https://github.com/rajatt95/Documents 13 | 14 | # * Learnings from Tutor (Code Repository): 15 | # * This course 16 | # * https://github.com/stars/rajatt95/lists/udemy-oc-selenium 17 | # * Other course(s): 18 | # * https://github.com/stars/rajatt95/lists/udemy-omprakash-chavan 19 | # */ 20 | 21 | /***************************************************/ 22 | 23 | baseUrl=https://uat-askomdch.com/ 24 | username=uat-dummyUser875@gmail.com 25 | password=uat-HidummyUser -------------------------------------------------------------------------------- /src/test/resources/myBillingAddress.json: -------------------------------------------------------------------------------- 1 | { 2 | "firstName": "Demo", 3 | "lastName": "User", 4 | "country": "India", 5 | "addressLineOne": "Pune", 6 | "city": "Pune", 7 | "state": "Maharashtra", 8 | "postalCode": "411001", 9 | "email": "dummyUser875@gmail.com" 10 | } 11 | -------------------------------------------------------------------------------- /src/test/resources/products.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1215, 4 | "name": "Blue Shoes" 5 | }, 6 | { 7 | "id": 1209, 8 | "name": "Denim Blue Jeans" 9 | }, 10 | { 11 | "id": 1205, 12 | "name": "Basic Blue Jeans" 13 | }, 14 | { 15 | "id": 1198, 16 | "name": "Anchor Bracelet" 17 | }, 18 | { 19 | "id": 1196, 20 | "name": "Blue Tshirt" 21 | } 22 | ] 23 | -------------------------------------------------------------------------------- /src/test/resources/runner/01_testng_run_package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/runner/02_testng_run_class.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/runner/03_testng_run_package_pass_browser_name.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/test/resources/runner/04_testng_run_package_pass_multiple_browsers_name.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/test/resources/runner/05_testng_run_package_parallel_exec_multiple_browsers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | --------------------------------------------------------------------------------