├── .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 | 
16 | 
17 | 
18 | 
19 | 
20 | 
21 | 
22 | 
23 | 
24 | 
25 | 
26 | 
27 | 
28 | 
29 | 
30 | 
31 | 
32 | 
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 |
--------------------------------------------------------------------------------