{"id":20111077,"url":"https://github.com/jagadeeshshetty/seleniummaven","last_synced_at":"2026-04-10T07:04:08.479Z","repository":{"id":49723635,"uuid":"283569116","full_name":"jagadeeshshetty/SeleniumMaven","owner":"jagadeeshshetty","description":"POC to automate web apps using Java programming language with supporting libraries.","archived":false,"fork":false,"pushed_at":"2024-03-26T18:09:13.000Z","size":34347,"stargazers_count":2,"open_issues_count":15,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-03-26T19:27:20.598Z","etag":null,"topics":["actions","allure-report","automation","chrome","junit","linux","log4j","macos","maven","selenium-java","webui"],"latest_commit_sha":null,"homepage":"https://jagadeeshshetty.github.io/SeleniumMaven/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jagadeeshshetty.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}},"created_at":"2020-07-29T18:06:33.000Z","updated_at":"2024-04-15T00:38:17.360Z","dependencies_parsed_at":"2024-03-04T16:35:33.345Z","dependency_job_id":"f9d68507-e714-4d78-8563-af96f8d4e89e","html_url":"https://github.com/jagadeeshshetty/SeleniumMaven","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jagadeeshshetty%2FSeleniumMaven","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jagadeeshshetty%2FSeleniumMaven/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jagadeeshshetty%2FSeleniumMaven/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jagadeeshshetty%2FSeleniumMaven/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jagadeeshshetty","download_url":"https://codeload.github.com/jagadeeshshetty/SeleniumMaven/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241551029,"owners_count":19980876,"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":["actions","allure-report","automation","chrome","junit","linux","log4j","macos","maven","selenium-java","webui"],"created_at":"2024-11-13T18:14:25.272Z","updated_at":"2026-04-10T07:04:08.473Z","avatar_url":"https://github.com/jagadeeshshetty.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebUI Automated Acceptance Test using Selenium WebDriver + Java ✨\n\nCreated with ❤️ from 🇮🇳\n\nAuthor 👨‍💻 [Jagadeesh C](https://www.linkedin.com/in/jagadeesh-c-2a3a9423)\n\n[![Actions Status](https://github.com/jagadeeshshetty/SeleniumMaven/actions/workflows/prod-linux-chrome-headless.yml/badge.svg)](https://github.com/jagadeeshshetty/SeleniumMaven/actions/workflows/prod-linux-chrome-headless.yml)\n\n## Programming language and libraries\n\n`Java` `Selenium WebDriver 4.X` `Maven` `Log4J` `Allure` `WebDriverManager`\n\n## Release\n\n### v2.4.0-SNAPSHOT\n\n- Upgraded Selenium to version 4.39.0 (from 4.11.0)\n- Upgraded WebDriverManager to version 6.3.3 (from 5.3.2)\n- Upgraded Allure TestNG integration to version 2.32.0 (from 2.23.0)\n- Updated GitHub Actions workflow:\n  - Uses latest cache action version\n  - Adds scheduled daily test runs\n  - Adds email notification for Allure report results\n- Improved resource handling in Eclipse classpath configuration\n- Refactored `BaseRemove` to use `Duration` for timeouts (Java 8+ style)\n- Fixed `TestLoginPage` setup to properly initialize the page object with the driver\n\n### v2.3.0-SNAPSHOT\n\n- Added parallel run support.\n\n### v2.2.0-SNAPSHOT\n\n- Add runtime browser selection support and retry of failed test cases.\n- Added Chrome, Chrome headless, Firefox, Edge, IE, Opera and Safari browser support.\n- Added global and project specific Config support.\n\n### v2.1.0-SNAPSHOT\n\n- Added Test case Retry support.\n- Added TestNG hooks.\n- Added Allure detailed steps.\n\n### v2.0.0-SNAPSHOT\n\n- Added Allure reporting support.\n- Added TestNG support.\n- Added CI/CD support with respect to test report deployment using Github Actions support.\n  Link: https://jagadeeshshetty.github.io/SeleniumMaven\n\n### v1.0.0\n\nCovered following setup within the framework\n\n- Created maven project with test directory structure.\n- Created TestLogin class with succeeded test case.\n- Added JUnit support.\n- Added WebDriverManager support.\n- Added Log4J library support for logging.\n- Added github actions support.\n\n## Reporting\n\n- On macOS: `brew install allure`\n\n- On Windows: Get binary and set the\n  path [link](`https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.8/allure-commandline-2.13.8.zip`)\n\n- Annotations\n\n  - Description\n  - Severity\n  - Epic\n  - Feature\n  - Story\n  - Step\n\n- Run\n  - Local\n    - Run all `mvn clean test`\n    - Specific test case `mvn clean test -Dtest=TestLogin#succeeded`\n  - Local using TestNG XML file.\n    - TestNG xml `mvn clean test -Dsurefire.suiteXmlFiles=testng.xml`\n    - Generate test execution report `allure serve target/allure-results`\n  - CI/CD\n    - Chill 🍺\n    - Github Actions will take care.\n  - Test Report [latest](https://jagadeeshshetty.github.io/SeleniumMaven)\n\n## Versioning\n\n- `mvn versions:set -DnewVersion=2.0.0-SNAPSHOT`\n\n## Tags\n\n- `$ git tag -a v1.4 -m \"my version 1.4\"`\n\n- `$ git push origin --tags`\n\n## AUT\n\n- the-internet.herokuapp\n  - testing\n    - docker pull gprestes/the-internet\n    - docker run -d -p 7080:5000 gprestes/the-internet\n    - http://localhost:7080/\n    - [More info](https://hub.docker.com/r/gprestes/the-internet/?ref=login)\n    - `mvn clean test -DbaseUrl=http://localhost:7080 -Dsurefire.suiteXmlFiles=testng.xml`\n  - staging\n    - tbd\n  - prod\n    - http://the-internet.herokuapp.com/\n    - `mvn clean test -DbaseUrl=http://the-internet.herokuapp.com -Dsurefire.suiteXmlFiles=testng.xml`\n- tbd\n\n## Runtime Parameters\n\n- Debug\n  - `mvn clean -Dmaven.surefire.debug test -Dbrowser=chrome -Dsurefire.suiteXmlFiles=testng-dev.xml -DmaxRetryCount=1`\n  - `mvn clean test -Dbrowser=chrome -Dsurefire.suiteXmlFiles=testng-dev.xml -DmaxRetryCount=0 \u0026\u0026 allure serve target/allure-results`\n- Run on different browsers\n  - Default run on Firefox\n    browser. `mvn clean test -DbaseUrl=http://the-internet.herokuapp.com -Dsurefire.suiteXmlFiles=testng.xml`\n  - Run on Chrome\n    browser. `mvn clean test -Dbrowser=chrome -DbaseUrl=http://the-internet.herokuapp.com -Dsurefire.suiteXmlFiles=testng.xml`\n  - Run on Chrome headless\n    browser. `mvn clean test -Dbrowser=chromeHeadless -DbaseUrl=http://the-internet.herokuapp.com -Dsurefire.suiteXmlFiles=testng.xml`\n  - Run on Safari\n    browser. `mvn clean test -Dbrowser=safari -DbaseUrl=http://the-internet.herokuapp.com -Dsurefire.suiteXmlFiles=testng.xml`\n  - Tbd\n- Run with explicit retry count. By default, it'll be 2 times.\n  - `mvn clean test -Dbrowser=chromeHeadless -DbaseUrl=http://the-internet.herokuapp.com -DmaxRetryCount=4 -Dsurefire.suiteXmlFiles=testng.xml`\n  - `mvn clean test -Dbrowser=chromeHeadless -DbaseUrl=http://the-internet.herokuapp.com -DmaxRetryCount=4 -Dsurefire.suiteXmlFiles=testng-parallel.xml`\n- Run with parallel.\n  - `mvn clean test -Dbrowser=chromeHeadless -DbaseUrl=http://the-internet.herokuapp.com -Dsurefire.suiteXmlFiles=testng-parallel.xml`\n  - `allure serve target/allure-results`\n- TBD\n\n## Terminal\n\n``` shell\ncommandline\n[INFO] Scanning for projects...\n[INFO]\n[INFO] ----------------------\u003c this.me.jc:SeleniumMaven \u003e----------------------\n[INFO] Building SeleniumMaven 1.0-SNAPSHOT\n[INFO] --------------------------------[ jar ]---------------------------------\n[INFO]\n[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ SeleniumMaven ---\n[INFO] Deleting /Users/jc/SeleniumMaven/target\n[INFO]\n[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ SeleniumMaven ---\n[INFO] Using 'UTF-8' encoding to copy filtered resources.\n[INFO] Copying 0 resource\n[INFO]\n[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ SeleniumMaven ---\n[INFO] Nothing to compile - all classes are up to date\n[INFO]\n[INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @ SeleniumMaven ---\n[INFO] Using 'UTF-8' encoding to copy filtered resources.\n[INFO] skip non existing resourceDirectory /Users/jc/SeleniumMaven/src/test/resources\n[INFO]\n[INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ SeleniumMaven ---\n[INFO] Changes detected - recompiling the module!\n[INFO] Compiling 2 source files to /Users/jc/SeleniumMaven/target/test-classes\n[INFO]\n[INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ SeleniumMaven ---\n[INFO]\n[INFO] -------------------------------------------------------\n[INFO]  T E S T S\n[INFO] -------------------------------------------------------\n[INFO] Running tests.TestLogin\n2020-07-30 00:00:00 INFO  tests.TestLogin : 20 - [setUp] Setting up Chrome driver.\nStarting ChromeDriver 84.0.4147.30 (48b3e868b4cc0aa7e8149519690b6f6949e110a8-refs/branch-heads/4147@{#310}) on port 1032\nOnly local connections are allowed.\nChromeDriver was started successfully.\nJul 30, 2020 12:00:02 AM org.openqa.selenium.remote.ProtocolHandshake createSession\nINFO: Detected dialect: W3C\n2020-07-30 00:00:02 INFO  tests.TestLogin : 28 - [setUp] ChromeDriver: chrome on MAC (659faefff8337a619558159fd6867b9e)\n2020-07-30 00:00:06 INFO  tests.TestLogin : 37 - [succeeded] Invoked URL.\n2020-07-30 00:00:07 INFO  tests.TestLogin : 39 - [succeeded] Entered username.\n2020-07-30 00:00:07 INFO  tests.TestLogin : 41 - [succeeded] Entered password.\n2020-07-30 00:00:08 INFO  tests.TestLogin : 43 - [succeeded] Clicked on button.\n2020-07-30 00:00:08 WARN  tests.TestLogin : 49 - [tearDown] Driver object not null. So Cleaning up.\n[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.389 s - in tests.TestLogin\n[INFO]\n[INFO] Results:\n[INFO]\n[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0\n[INFO]\n[INFO] ------------------------------------------------------------------------\n[INFO] BUILD SUCCESS\n[INFO] ------------------------------------------------------------------------\n[INFO] Total time:  13.655 s\n[INFO] Finished at: 2020-07-30T00:00:08+05:30\n[INFO] ------------------------------------------------------------------------\n```\n\n## Class Diagram\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg title=\"class-diagram\" alt=\"\" src=\"./out/docs/class-diagram/demo/Demo.svg\" width=100%\u003e\n\u003c/div\u003e\n\n## Reference\n\n- Tbd\n- Tbd\n- Tbd\n- Tbd\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjagadeeshshetty%2Fseleniummaven","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjagadeeshshetty%2Fseleniummaven","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjagadeeshshetty%2Fseleniummaven/lists"}