# katdev16/testing-ui-automation-on-amazon architecture

> Architecture diagram of the GitHub repository katdev16/testing-ui-automation-on-amazon, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/katdev16/testing-ui-automation-on-amazon
- Repository: https://github.com/katdev16/testing-ui-automation-on-amazon
- Video tour (about a minute): https://gitdiagram.com/katdev16/testing-ui-automation-on-amazon/video

## Overview

This repository is a Selenium page-object layer for exercising Amazon shopping pages, not the storefront itself. Its main flow models searching, opening a product, adding it to the cart, and viewing or removing cart items; the home-page object also exposes language controls. The graph reflects page transitions and browser interactions visible in sampled source. Test callers are excluded, and no README or test source was available to confirm how these objects are instantiated.

Main entry points: [`Amazon/src/main/java/Pages/ProductPage.java`](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/ProductPage.java) (Product page), [`Amazon/src/main/java/Pages/HomePage.java`](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/HomePage.java) (Home page), [`Amazon/src/main/java/Pages/SearchResultsPage.java`](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/SearchResultsPage.java) (Search results), [`Amazon/src/main/java/Pages/AddedToCartPage.java`](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/AddedToCartPage.java) (Added confirmation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_discovery["Product discovery"]
  node_home["Home page<br/>[HomePage.java]"]
  node_results["Search results"]
  node_product["Product page<br/>[ProductPage.java]"]
end

subgraph group_purchase["Cart workflow"]
  node_added["Added confirmation"]
  node_cart["Cart page<br/>[CartPage.java]"]
  node_addcart["Add cart page<br/>[AddCartPage.java]"]
end

subgraph group_support["Runtime support"]
  node_config["Config reader<br/>[ConfigReader.java]"]
  node_logger["Logger helper<br/>[Log.java]"]
end

node_caller(("Automation caller"))
node_webdriver["Selenium WebDriver"]
node_storefront["Amazon storefront"]
node_properties["Config properties<br/>[config.properties]"]
node_logging["Logging framework"]

node_caller -.->|"uses page object"| node_home
node_home -->|"returns results page"| node_results
node_results -->|"returns product page"| node_product
node_product -->|"returns confirmation page"| node_added
node_product -->|"returns cart page"| node_cart
node_added -->|"returns cart page"| node_cart
node_home -->|"drives browser"| node_webdriver
node_results -->|"drives browser"| node_webdriver
node_product -->|"drives browser"| node_webdriver
node_added -->|"drives browser"| node_webdriver
node_cart -->|"drives browser"| node_webdriver
node_webdriver -->|"interacts with"| node_storefront
node_config -->|"reads"| node_properties
node_logger -->|"delegates logs"| node_logging

click node_home "https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/HomePage.java"
click node_results "https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/SearchResultsPage.java"
click node_product "https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/ProductPage.java"
click node_added "https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/AddedToCartPage.java"
click node_cart "https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/CartPage.java"
click node_addcart "https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/AddCartPage.java"
click node_config "https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/utils/ConfigReader.java"
click node_logger "https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/utils/Log.java"
click node_properties "https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/resources/config.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_home,node_results,node_product toneBlue
class node_added,node_cart,node_addcart toneAmber
class node_config,node_logger toneMint
class node_caller,node_webdriver,node_storefront,node_logging toneIndigo
class node_properties toneTeal
```

## Components

### Product discovery

- [Home page](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/HomePage.java): `Amazon/src/main/java/Pages/HomePage.java`
- [Search results](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/SearchResultsPage.java): `Amazon/src/main/java/Pages/SearchResultsPage.java`
- [Product page](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/ProductPage.java): `Amazon/src/main/java/Pages/ProductPage.java`

### Cart workflow

- [Added confirmation](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/AddedToCartPage.java): `Amazon/src/main/java/Pages/AddedToCartPage.java`
- [Cart page](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/CartPage.java): `Amazon/src/main/java/Pages/CartPage.java`
- [Add cart page](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/Pages/AddCartPage.java): `Amazon/src/main/java/Pages/AddCartPage.java`

### Runtime support

- [Config reader](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/utils/ConfigReader.java): `Amazon/src/main/java/utils/ConfigReader.java`
- [Logger helper](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/java/utils/Log.java): `Amazon/src/main/java/utils/Log.java`

### Other components

- **Automation caller**
- **Selenium WebDriver**
- **Amazon storefront**
- [Config properties](https://github.com/katdev16/testing-ui-automation-on-amazon/blob/main/Amazon/src/main/resources/config.properties): `Amazon/src/main/resources/config.properties`
- **Logging framework**

## Connections

- Automation caller → Home page: uses page object
- Home page → Search results: returns results page
- Search results → Product page: returns product page
- Product page → Added confirmation: returns confirmation page
- Product page → Cart page: returns cart page
- Added confirmation → Cart page: returns cart page
- Home page → Selenium WebDriver: drives browser
- Search results → Selenium WebDriver: drives browser
- Product page → Selenium WebDriver: drives browser
- Added confirmation → Selenium WebDriver: drives browser
- Cart page → Selenium WebDriver: drives browser
- Selenium WebDriver → Amazon storefront: interacts with
- Config reader → Config properties: reads
- Logger helper → Logging framework: delegates logs
