{"id":24093386,"url":"https://github.com/hala-samir/automatedtestingsuite","last_synced_at":"2026-04-08T20:02:53.389Z","repository":{"id":249512455,"uuid":"831499210","full_name":"hala-samir/AutomatedTestingSuite","owner":"hala-samir","description":"Selenium E2E Project using Java, Maven, TestNG and it runs on Docker using Selenium hub service The project is also integrated with GitHub actions","archived":false,"fork":false,"pushed_at":"2024-08-05T17:50:10.000Z","size":62,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-21T20:04:11.648Z","etag":null,"topics":["bdd-framework","cross-browser","cucumber-java","docker","docker-compose","docker-container","gherkin","github-actions","java","maven","page-object-model","selenium-grid","selenium-webdriver","test-automation","testng-framework"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hala-samir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-20T18:22:56.000Z","updated_at":"2024-08-06T17:28:38.000Z","dependencies_parsed_at":"2024-08-05T20:24:51.963Z","dependency_job_id":null,"html_url":"https://github.com/hala-samir/AutomatedTestingSuite","commit_stats":null,"previous_names":["hala-samir/automatedtestingsuite"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hala-samir/AutomatedTestingSuite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hala-samir%2FAutomatedTestingSuite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hala-samir%2FAutomatedTestingSuite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hala-samir%2FAutomatedTestingSuite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hala-samir%2FAutomatedTestingSuite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hala-samir","download_url":"https://codeload.github.com/hala-samir/AutomatedTestingSuite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hala-samir%2FAutomatedTestingSuite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31571601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bdd-framework","cross-browser","cucumber-java","docker","docker-compose","docker-container","gherkin","github-actions","java","maven","page-object-model","selenium-grid","selenium-webdriver","test-automation","testng-framework"],"created_at":"2025-01-10T09:47:19.619Z","updated_at":"2026-04-08T20:02:53.352Z","avatar_url":"https://github.com/hala-samir.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Seleinum Testing Project\n\n**This project is a template for setting up a Selenium WebDriver project using Java and Maven. It includes the necessary dependencies and a basic structure to get you started with writing and running automated tests. The behaviour driver development is supported by Cucumber**\n\n### Prerequisites\n\n- **Java Development Kit (JDK)**: Ensure JDK is installed on your machine.\n- **Maven**: Make sure Maven is installed and configured.\n- **IDE**: (e.g., IntelliJ IDEA, Eclipse)\n- **Docker**\n\n### Installation\n\n1. Clone the repository:\n\n```\ngit clone https://github.com/hala-samir/AutomatedTestingSuite\n```\n\n2. Install dependencies:\n\n```\nmvn clean install\n```\n\n3. Run tests:\n\n```\nmvn test\n```\n\n### Project Structure\n\n```\nSelenium-maven-project\n├── src\n│   ├── main\n│   │   └── java\n|   |       └── pages\n│   └── test\n│       ├── java\n│       │   └── runner\n|       |   └── stepDefinition\n|       |   └── utilities\n│       └── resources\n|           └──features \n|           └──testSuites\n|           └──testData\n├── pom.xml\n├── .gitignore\n├── docker-compose.yaml\n└── README.md\n```\n###  Using Docker with Selenium Standalone and Selenium Hub\n\n1. Docker Compose Basics:\n\n   Docker Compose allows you to define and manage multi-container applications. In your project’s root directory, create a docker-compose.yml file (if you haven’t already). This file will describe your services and their configurations.\n\n2. Selenium Hub Service\n\n   Now let’s add Selenium Hub with different browsers nodes:\n\n```\nversion: \"3\"\nservices:\n  chrome:\n    image: selenium/node-chrome:dev\n    shm_size: 2gb\n    depends_on:\n      - selenium-hub\n    environment:\n      - SE_EVENT_BUS_HOST=selenium-hub\n      - SE_EVENT_BUS_PUBLISH_PORT=4442\n      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443\n\n  edge:\n    image: selenium/node-edge:dev\n    shm_size: 2gb\n    depends_on:\n      - selenium-hub\n    environment:\n      - SE_EVENT_BUS_HOST=selenium-hub\n      - SE_EVENT_BUS_PUBLISH_PORT=4442\n      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443\n\n  firefox:\n    image: selenium/node-firefox:dev\n    shm_size: 2gb\n    depends_on:\n      - selenium-hub\n    environment:\n      - SE_EVENT_BUS_HOST=selenium-hub\n      - SE_EVENT_BUS_PUBLISH_PORT=4442\n      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443\n\n  selenium-hub:\n    image: selenium/hub:latest\n    container_name: selenium-hub\n    ports:\n      - \"4442:4442\"\n      - \"4443:4443\"\n      - \"4444:4444\"\n```\n3. Running Your Setup\nMake sure Docker is running.\nNavigate to your project directory.\nRun docker-compose up to start the services in detached mode.\nYour Selenium Grid is now up and running!\n\n4. Cleanup\n   When you’re done, run docker-compose down to stop and remove the containers\n\nRemember, Docker makes your testing environment portable and consistent. Happy testing, fellow code explorer!🚀\n\n### Running Tests\n\n1. Run all tests:\n\n- Go to the project path\n\n```\nmvn test\n```\n\n2. Generate TestNG Reports:\n   After running the tests, the Reports will be generated in the `target\\surefire-reports` directory.\n\n### Cross Browser Testing\n\nThese test cases are supported to be run on different browsers (Chrome, Firefox and Edge).\n\n```\nmvn test -Dbrowser=\"browserName\"\n```\n\n## Test Case Design\n\nThis project includes automated test cases for the following functionalities of a web application: registration, login, add to cart, send a contact message, and logout. Each test case is designed to verify the core functionalities and ensure the application behaves as expected.\n\n### 1. Registration\n\n**Objective**: Verify that a new user can successfully register on the web application.\n\n**Steps**:\n\n1. Navigate to the registration page.\n2. Fill in the required fields (e.g. email, password).\n3. Submit the registration form.\n4. Verify that the user is redirected to a confirmation page or receives a success message.\n\n**Expected Result**: The user should be successfully registered and receive a confirmation message.\n\n### 2. Login\n\n**Objective**: Verify that a registered user can log in to the web application.\n\n**Steps**:\n\n1. Navigate to the login page.\n2. Enter valid credentials (username and password).\n3. Submit the login form.\n4. Verify that the user is redirected to the dashboard or home page.\n\n**Expected Result**: The user should be successfully logged in and redirected to the dashboard or home page.\n\n### 3. Add to Cart\n\n**Objective**: Verify that a user can add items to the shopping cart.\n\n**Steps**:\n\n1. Navigate to the product listing page.\n2. Select a product and navigate to the product detail page.\n3. Click the \"Add to Cart\" button.\n4. Verify that the product is added to the cart and the cart count is updated.\n\n**Expected Result**: The selected product should be added to the cart, and the cart count should reflect the addition.\n\n### 4. Send a Contact Message\n\n**Objective**: Verify that a user can send a contact message through the contact form.\n\n**Steps**:\n\n1. Navigate to the contact page.\n2. Fill in the required fields (e.g., name, email, message).\n3. Submit the contact form.\n4. Verify that the user receives a confirmation message indicating the message was sent successfully.\n\n**Expected Result**: The user should receive a confirmation message indicating that the contact message was sent successfully.\n\n### 5. Logout\n\n**Objective**: Verify that a logged-in user can log out of the web application.\n\n**Steps**:\n\n1. Ensure the user is logged in.\n2. Click the \"Logout\" button or link.\n3. Verify that the user is redirected to the login page or home page and that the session is terminated.\n\n**Expected Result**: The user should be successfully logged out and the signup button is displayed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhala-samir%2Fautomatedtestingsuite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhala-samir%2Fautomatedtestingsuite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhala-samir%2Fautomatedtestingsuite/lists"}