{"id":15144530,"url":"https://github.com/ndviet/test-automation-project","last_synced_at":"2026-01-18T23:34:16.285Z","repository":{"id":65318022,"uuid":"574053410","full_name":"NDViet/test-automation-project","owner":"NDViet","description":"A sample project with entire repositories together for the test execution","archived":false,"fork":false,"pushed_at":"2024-07-21T08:03:51.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-02-12T23:38:07.083Z","etag":null,"topics":["automation","java","maven","robot-framework","selenium","test-automation"],"latest_commit_sha":null,"homepage":"http://www.ndviet.org/test-automation-project/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NDViet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-12-04T09:26:36.000Z","updated_at":"2024-07-21T08:03:54.000Z","dependencies_parsed_at":"2024-07-21T09:22:52.077Z","dependency_job_id":"2e9c2a10-18a6-4008-828a-2cf918f07e79","html_url":"https://github.com/NDViet/test-automation-project","commit_stats":{"total_commits":47,"total_committers":1,"mean_commits":47.0,"dds":0.0,"last_synced_commit":"5fa5c974d1ee82925821c31e6e4fe21f1b9aaccf"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDViet%2Ftest-automation-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDViet%2Ftest-automation-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDViet%2Ftest-automation-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDViet%2Ftest-automation-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NDViet","download_url":"https://codeload.github.com/NDViet/test-automation-project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247520744,"owners_count":20952230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["automation","java","maven","robot-framework","selenium","test-automation"],"created_at":"2024-09-26T10:42:02.402Z","updated_at":"2026-01-18T23:34:16.239Z","avatar_url":"https://github.com/NDViet.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"## Introduction\n\nThis is a project with lots of micro repositories that would be managed and worked on.\u003cbr\u003e\nThis provides some operations to interact with bulk repositories source code, such as: clone, pull and tag\n\n## Documentation\n\n* [Test Automation Framework Design](https://drive.google.com/file/d/1rBKc4p7IKA5iQXBX6F2gbWUtoq6sY1D9/view?usp=sharing)\n* [Test Automation Tech Stack Decision](https://drive.google.com/file/d/125eQoai7GzwMWq6vDXe5K2Hum-WmNyzj/view?usp=sharing)\n* [Test Reports attachment](https://drive.google.com/drive/folders/1ry2Hzd_Fb2uhLah_0djUtewlAcR2GkpD?usp=sharing)\n* [Test Cases](https://docs.google.com/document/d/18lLFhcvEJlakTtT2YbWX3cFtFoaq_pshBVvwzz5sYEU/edit?usp=sharing)\n\n## Defects\n\n* [List defects which are found while executing test](../../issues)\n\n## List dependency repositories\n\n1. [test-parent-pom](../../../test-parent-pom)\n2. [test-automation-fwk](../../../test-automation-fwk)\n3. [test-java2robot-adapter](../../../test-java2robot-adapter)\n4. [test-robot-framework](../../../test-robot-framework)\n5. [test-testng-framework](../../../test-testng-framework)\n6. [test-cucumber-framework](../../../test-cucumber-framework)\n7. [test-webdriver-downloader](../../../test-webdriver-downloader)\n\n## System requires\n\n1. Git (Tested version 2.30.0). Ensure that code can be cloned from GitHub via SSH.\n2. Apache Maven (Tested version 3.8.6). Ensure that there is no connection blocker to reach Maven Central Repository for\n   downloading dependencies.\n3. Java 17+ (Tested in [17.0.2 (build 17.0.2+8)](https://jdk.java.net/archive/))\n4. Chrome (Tested version 108.0.5359.125)\n\n## Steps to execute test cases\n\n#### 1. Clone this repository \"test-automation-project\"\n\n```shell\ngit clone git@github.com:ndviet/test-automation-project.git\n```\n\n#### 2. Clone dependency repositories by executing Maven command in repo \"test-automation-project\"\n\n```shell\ncd test-automation-project\n```\n\n```shell\nmvn initialize -Dhelper=clone\n```\n\nNotes:\n\n* In case you would like to pull the latest code from the remote.\n\n```shell\nmvn initialize -Dhelper=pull\n```\n\n* In case you would like to tag and push changes to remote.\n\n```shell\nmvn initialize -Dhelper=tag -Dgoal=tag -DpushChanges=true -Dname=RELEASE_TAG\n```\n\n#### 3. Ensure that all dependency repositories are cloned successfully\n\n```text\ntest-automation-project$ ls -1\n  pom.xml\n  test-parent-pom\n  test-automation-fwk\n  test-java2robot-adapter\n  test-robot-framework\n  test-webdriver-downloader\n```\n\n#### 4. Build the repository \"test-automation-project\"\n\n```shell\nmvn clean install\n```\n\n#### 5. Ensure that selenium-server jar and drivers are downloaded successfully\n\nNoted: Below result is tested on Ubuntu. Based on OS, the packages would be downloaded.\n\n```text\ntest-automation-project$ ls -1 test-webdriver-downloader/Drivers\n    chromedriver-linux-64bit\n    chromedriver-linux-64bit.version\n    edgedriver-linux-64bit\n    edgedriver-linux-64bit.version\n    geckodriver-linux-64bit\n    geckodriver-linux-64bit.version\n    operadriver-linux-64bit\n    operadriver-linux-64bit.version\n    selenium-server\n    selenium-server.version\n```\n\n#### 6. Start Selenium Server (Hub \u0026 Node). Keep both these 2 terminals running\n\n```shell\ncd test-webdriver-downloader/Drivers\n```\n\n```shell\njava -jar selenium-server hub\n```\n\n```shell\njava -jar selenium-server node --port 5555\n```\n\n#### 7. Open another terminal to execute test cases\n\n```shell\ncd test-robot-framework\n```\n\n```shell\nmvn -f pom.xml initialize robotframework:run -Dincludes=Statistics\n```\n\nNote: In case Selenium Hub is running in another server, kindly provide the hub URL via property \"selenium.hub.url\" from\ncommand line\u003cbr\u003e\nFor example:\n\n```shell\nmvn -f pom.xml initialize robotframework:run -Dincludes=Statistics -Dselenium.hub.url=https://controller-hub.ndviet.com:4444\n```\n\n#### 8. Checkout the test report.html and screenshots after execution completed\n\n```text\ntest-automation-project/test-robot-framework$ ls -1 target/reports/\n```\n\n#### Video of demonstration steps to execute test cases\n\n[![Video of demonstration](https://img.youtube.com/vi/bNN0VEqlRMc/maxresdefault.jpg)](https://youtu.be/bNN0VEqlRMc)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndviet%2Ftest-automation-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fndviet%2Ftest-automation-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndviet%2Ftest-automation-project/lists"}