You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3. Import the project in [IntelliJ IDEA](https://www.jetbrains.com/idea/download/).
15
15
4. Make your desired changes.
@@ -33,11 +33,12 @@ The project uses the following:
33
33
The project is structured as follows:
34
34
35
35
```bash
36
-
📦 playwright-test-automation-boilerplate
36
+
📦 playwright-java-test-automation-architecture
37
37
├─ .github
38
38
│ └─ workflows
39
39
│ └─ test-execution.yml
40
40
├─ .gitignore
41
+
├─ LICENSE
41
42
├─ README.md
42
43
├─ build.gradle
43
44
├─ gradle
@@ -48,65 +49,46 @@ The project is structured as follows:
48
49
├─ gradlew.bat
49
50
├─ settings.gradle
50
51
└─ src
52
+
├─ main
53
+
│ ├─ java
54
+
│ │ └─ io
55
+
│ │ └─ github
56
+
│ │ └─ tahanima
57
+
│ │ ├─ config
58
+
│ │ │ ├─ Configuration.java
59
+
│ │ │ └─ ConfigurationManager.java
60
+
│ │ ├─ data
61
+
│ │ │ ├─ BaseTestData.java
62
+
│ │ │ └─ login
63
+
│ │ │ └─ LoginTestData.java
64
+
│ │ ├─ page
65
+
│ │ │ ├─ BasePage.java
66
+
│ │ │ ├─ BasePageFactory.java
67
+
│ │ │ ├─ login
68
+
│ │ │ │ └─ LoginPage.java
69
+
│ │ │ └─ product
70
+
│ │ │ └─ ProductsPage.java
71
+
│ │ ├─ report
72
+
│ │ │ └─ ExtentReportManager.java
73
+
│ │ └─ util
74
+
│ │ ├─ BrowserFactory.java
75
+
│ │ └─ BrowserManager.java
76
+
│ └─ resources
77
+
│ └─ config.properties
51
78
└─ test
52
79
├─ java
53
80
│ └─ io
54
81
│ └─ github
55
82
│ └─ tahanima
56
-
│ ├─ browser
57
-
│ │ ├─ BrowserFactory.java
58
-
│ │ └─ BrowserManager.java
59
-
│ ├─ config
60
-
│ │ ├─ Configuration.java
61
-
│ │ └─ ConfigurationManager.java
62
-
│ ├─ data
63
-
│ │ ├─ BaseData.java
64
-
│ │ └─ login
65
-
│ │ └─ LoginData.java
66
83
│ ├─ e2e
67
84
│ │ ├─ BaseE2ETest.java
68
85
│ │ └─ login
69
86
│ │ └─ LoginE2ETest.java
70
-
│ ├─ pages
71
-
│ │ ├─ BasePage.java
72
-
│ │ ├─ BasePageFactory.java
73
-
│ │ ├─ login
74
-
│ │ │ └─ LoginPage.java
75
-
│ │ └─ product
76
-
│ │ └─ ProductsPage.java
77
-
│ └─ utils
78
-
│ ├─ CsvDataProviderUtils.java
79
-
│ ├─ ExtentReportManager.java
87
+
│ └─ util
88
+
│ ├─ DataProviderUtils.java
80
89
│ └─ TestListener.java
81
90
└─ resources
82
-
├─ config.properties
83
-
└─ testData
91
+
└─ testdata
84
92
└─ login
85
93
└─ login.csv
86
94
```
87
-
88
-
## Project Components
89
-
-[Config](#config)
90
-
-[Data](#data)
91
-
-[Page](#page)
92
-
-[Report](#report)
93
-
-[Test](#test)
94
-
-[Workflow](#workflow)
95
-
96
-
### Config
97
-
The project uses [config.properties](src/test/resources/config.properties) file to map all the global parameters such as browser and base url. All the relevant classes to read the parameters are provided in the [config](src/test/java/io/github/tahanima/config) package.
98
-
99
-
### Data
100
-
The project reads test data from csv files. The test data properties are modeled in terms of entities and the `data` package handles this. For convenience, there is an example class - [LoginData.java](src/test/java/io/github/tahanima/data/login/LoginData.java) to demonstrate the usage.
101
-
102
-
### Page
103
-
The project uses Page Object Model to capture all the relevant UI components and functionalities of a web page. The [pages](src/test/java/io/github/tahanima/pages) package provides all the classes to achieve this. For convenience, there is an example class - [LoginPage.java](src/test/java/io/github/tahanima/pages/login/LoginPage.java) to demonstrate the usage.
104
-
105
-
### Report
106
-
The project uses *Extent Reports* to provide test reporting functionalities.
107
-
108
-
### Test
109
-
[LoginE2ETest.java](src/test/java/io/github/tahanima/e2e/login/LoginE2ETest.java) demonstrates an example test script.
110
-
111
-
### Workflow
112
-
The project uses GitHub Actions to run the playwright tests when an update is made to the `main` branch of the repo in GitHub.
0 commit comments