# prasadhanjagi/winkcart-automation architecture

> Architecture diagram of the GitHub repository prasadhanjagi/winkcart-automation, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/prasadhanjagi/winkcart-automation
- Repository: https://github.com/prasadhanjagi/winkcart-automation

## Overview

This repository appears to be a Java UI-test automation harness, with login testing as its visible domain. Its likely workflow is configured test execution using browser setup, page objects, and login test data, with listeners and utilities supporting runs. That workflow is inferred from filenames only: no README or source excerpts were provided, so runtime calls and data transfers cannot be verified and are not shown as edges.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_execution["Test execution"]
  node_login_test["Login test<br/>[LoginTest.java]"]
  node_base_test["Base test<br/>[BaseTest.java]"]
end

subgraph group_pages["Page objects"]
  node_login_page["Login page<br/>[LoginPage.java]"]
  node_base_page["Base page<br/>[BasePage.java]"]
end

subgraph group_support["Run support"]
  node_driver_factory["Driver factory<br/>[DriverFactory.java]"]
  node_config_reader["Config reader<br/>[ConfigReader.java]"]
  node_login_provider["Login data provider"]
  node_retry_analyzer["Retry analyzer<br/>[RetryAnalyzer.java]"]
  node_test_listener["Test listener<br/>[TestListener.java]"]
  node_backend_health["Backend health check"]
  node_json_reader["JSON reader<br/>[JsonReader.java]"]
  node_screenshot_utils["Screenshot utilities"]
end

subgraph group_resources["Test resources"]
  node_config_properties["Configuration<br/>[config.properties]"]
  node_login_data["Login test data<br/>[login.json]"]
  node_smoke_suite["Smoke suite<br/>[smoke.xml]"]
  node_regression_suite["Regression suite<br/>[regression.xml]"]
  node_allure_properties["Allure settings<br/>[allure.properties]"]
end

click node_login_test "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/tests/LoginTest.java"
click node_base_test "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/base/BaseTest.java"
click node_login_page "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/pages/LoginPage.java"
click node_base_page "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/pages/BasePage.java"
click node_driver_factory "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/driver/DriverFactory.java"
click node_config_reader "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/config/ConfigReader.java"
click node_login_provider "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/dataproviders/LoginDataProvider.java"
click node_retry_analyzer "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/listeners/RetryAnalyzer.java"
click node_test_listener "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/listeners/TestListener.java"
click node_backend_health "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/utils/BackendHealthChecker.java"
click node_json_reader "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/utils/JsonReader.java"
click node_screenshot_utils "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/utils/ScreenshotUtils.java"
click node_config_properties "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/config.properties"
click node_login_data "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/testdata/login.json"
click node_smoke_suite "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/suites/smoke.xml"
click node_regression_suite "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/suites/regression.xml"
click node_allure_properties "https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/allure.properties"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_login_test,node_base_test toneBlue
class node_login_page,node_base_page toneAmber
class node_driver_factory,node_config_reader,node_login_provider,node_retry_analyzer,node_test_listener,node_backend_health,node_json_reader,node_screenshot_utils toneMint
class node_config_properties,node_login_data,node_smoke_suite,node_regression_suite,node_allure_properties toneRose
```

## Components

### Test execution

- [Login test](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/tests/LoginTest.java): `src/test/java/online/winkcart/automation/tests/LoginTest.java`
- [Base test](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/base/BaseTest.java): `src/test/java/online/winkcart/automation/base/BaseTest.java`

### Page objects

- [Login page](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/pages/LoginPage.java): `src/test/java/online/winkcart/automation/pages/LoginPage.java`
- [Base page](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/pages/BasePage.java): `src/test/java/online/winkcart/automation/pages/BasePage.java`

### Run support

- [Driver factory](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/driver/DriverFactory.java): `src/test/java/online/winkcart/automation/driver/DriverFactory.java`
- [Config reader](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/config/ConfigReader.java): `src/test/java/online/winkcart/automation/config/ConfigReader.java`
- [Login data provider](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/dataproviders/LoginDataProvider.java): `src/test/java/online/winkcart/automation/dataproviders/LoginDataProvider.java`
- [Retry analyzer](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/listeners/RetryAnalyzer.java): `src/test/java/online/winkcart/automation/listeners/RetryAnalyzer.java`
- [Test listener](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/listeners/TestListener.java): `src/test/java/online/winkcart/automation/listeners/TestListener.java`
- [Backend health check](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/utils/BackendHealthChecker.java): `src/test/java/online/winkcart/automation/utils/BackendHealthChecker.java`
- [JSON reader](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/utils/JsonReader.java): `src/test/java/online/winkcart/automation/utils/JsonReader.java`
- [Screenshot utilities](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/java/online/winkcart/automation/utils/ScreenshotUtils.java): `src/test/java/online/winkcart/automation/utils/ScreenshotUtils.java`

### Test resources

- [Configuration](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/config.properties): `src/test/resources/config.properties`
- [Login test data](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/testdata/login.json): `src/test/resources/testdata/login.json`
- [Smoke suite](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/suites/smoke.xml): `src/test/resources/suites/smoke.xml`
- [Regression suite](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/suites/regression.xml): `src/test/resources/suites/regression.xml`
- [Allure settings](https://github.com/prasadhanjagi/winkcart-automation/blob/main/src/test/resources/allure.properties): `src/test/resources/allure.properties`
