Skip to content

Commit 5e02758

Browse files
authored
Update README.md
1 parent f2cf047 commit 5e02758

File tree

1 file changed

+34
-52
lines changed

1 file changed

+34
-52
lines changed

README.md

Lines changed: 34 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# Playwright Test Automation Boilerplate
1+
# Playwright Java Test Automation Architecture
22

33
Ready-to-use UI Test Automation Architecture using Java and Playwright.
44

55
## Installation Steps
66

77
In order to use the framework:
88

9-
1. [Fork](https://github.com/Tahanima/playwright-test-automation-boilerplate/fork) the repository.
9+
1. [Fork](https://github.com/Tahanima/playwright-java-test-automation-architecture/fork) the repository.
1010
2. Clone, i.e, download your copy of the repository to your local machine using
1111
```
12-
git clone https://github.com/[your_username]/playwright-test-automation-boilerplate.git
12+
git clone https://github.com/[your_username]/playwright-java-test-automation-architecture.git
1313
```
1414
3. Import the project in [IntelliJ IDEA](https://www.jetbrains.com/idea/download/).
1515
4. Make your desired changes.
@@ -33,11 +33,12 @@ The project uses the following:
3333
The project is structured as follows:
3434

3535
```bash
36-
📦 playwright-test-automation-boilerplate
36+
📦 playwright-java-test-automation-architecture
3737
├─ .github
3838
│  └─ workflows
3939
│     └─ test-execution.yml
4040
├─ .gitignore
41+
├─ LICENSE
4142
├─ README.md
4243
├─ build.gradle
4344
├─ gradle
@@ -48,65 +49,46 @@ The project is structured as follows:
4849
├─ gradlew.bat
4950
├─ settings.gradle
5051
└─ 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
5178
   └─ test
5279
      ├─ java
5380
      │  └─ io
5481
      │     └─ github
5582
      │        └─ 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
6683
      │           ├─ e2e
6784
      │           │  ├─ BaseE2ETest.java
6885
      │           │  └─ login
6986
      │           │     └─ 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
8089
      │              └─ TestListener.java
8190
      └─ resources
82-
         ├─ config.properties
83-
         └─ testData
91+
         └─ testdata
8492
            └─ login
8593
               └─ login.csv
8694
```
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

Comments
 (0)