{"id":13989148,"url":"https://github.com/edinc/java-selenium-framework","last_synced_at":"2025-07-22T10:31:32.410Z","repository":{"id":29177081,"uuid":"120276617","full_name":"edinc/java-selenium-framework","owner":"edinc","description":"Java based UI testing framework using Selenium and Zalenium","archived":false,"fork":false,"pushed_at":"2022-12-10T02:10:21.000Z","size":23593,"stargazers_count":47,"open_issues_count":6,"forks_count":25,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-29T08:38:12.134Z","etag":null,"topics":["java","maven","selenium","springboot","zalenium"],"latest_commit_sha":null,"homepage":null,"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/edinc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-05T08:33:17.000Z","updated_at":"2024-06-05T12:52:49.000Z","dependencies_parsed_at":"2023-01-14T14:30:37.576Z","dependency_job_id":null,"html_url":"https://github.com/edinc/java-selenium-framework","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/edinc/java-selenium-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edinc%2Fjava-selenium-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edinc%2Fjava-selenium-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edinc%2Fjava-selenium-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edinc%2Fjava-selenium-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edinc","download_url":"https://codeload.github.com/edinc/java-selenium-framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edinc%2Fjava-selenium-framework/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266475108,"owners_count":23934882,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["java","maven","selenium","springboot","zalenium"],"created_at":"2024-08-09T13:01:32.375Z","updated_at":"2025-07-22T10:31:27.390Z","avatar_url":"https://github.com/edinc.png","language":"Java","readme":"# Java Selenium Framework [![Build Status](https://travis-ci.org/edinc/java-selenium-framework.svg?branch=master)](https://travis-ci.org/edinc/java-selenium-framework)\n\nThe Selenium Java Framework is a good starting point for writing your UI automated tests utilizing Java,\nSelenium and Zalenium for running the tests in a CI manner.\n\n## Features\n### Multiple domains\nTests can be configured to run against different domains. For example:\nhttps://www.some-site.de and https://www.some-site.fr.\n\n### Multiple environments\nSimilar as for multiple domains the tests can also be run on multiple environments,\nfor example a staging and a live environment. It is as simple as changing a spring profile parameter.\n\n### Localization\nPage content can be validated with different languages through a config file.\n\n### User data handling\nHandling user data within a json file where the appropriate user will be determined by country.\n\n### Headless\nThe option to run the tests in headless mode (without opening a browser).\n\n### Zalenium integration\n[Zalenium](https://github.com/zalando/zalenium) is a Selenium Grid extension to scale your local grid dynamically with docker containers.\n\n### Allure reports integration\n[Allure Framework](https://github.com/allure-framework/allure2) is a flexible lightweight multi-language test report tool that shows a very concise representation of what has been tested in a neat web report form\n\n### Parallelization\nThe framework has the ability to run multiple tests in parallel. Setting this up just requires to set the `thread-count` paramenter in `testng.xml`.\n\n## Tech Stack\n* Java 8\n* Maven\n* Spring Boot\n* TestNG\n* Allure\n* Zalenium\n\n## How-to\n### Local on different browsers\nTo run the tests on your local machine use the command:\n\n```\nmvn clean test -Dspring.profiles.active=live -Dcountry=com -Dbrowser=chrome\n```\n\nThe parameters explained:\n* `spring.profiles.active` - defines on which environment the tests will run\n* `country` - defines on which domain the tests will run\n* `browser` - defines the browser (`chrome/firefox`)\n\n\n### With Zalenium\nTo be able to run the tests on Zalenium (which is basically just a dockerized Selenium Grid), first Zalenium has to be started.\n```\n# Pull docker-selenium\ndocker pull elgalu/selenium\n\n# Pull Zalenium\ndocker pull dosel/zalenium\n\ndocker run --rm -ti --name zalenium -p 4444:4444 \\\n  -v /var/run/docker.sock:/var/run/docker.sock \\\n  -v /tmp/videos:/home/seluser/videos \\\n  --privileged dosel/zalenium start\n```\n\nAfter Zalenium is running just the browser parameter has to be changed in order to run the tests\n\n```\nmvn clean test -Dspring.profiles.active=live -Dcountry=com -Dbrowser=zalenium\n```\n\n### Headless\nThe latest versions of the Chrome and Firefox browsers have the feature to run browsers in headless mode. This speeds up the running time of the tests immensely. For running the tests using the headlless mode feature:\n\n```\nmvn clean test -Dspring.profiles.active=live -Dcountry=com -Dbrowser=chrome -Dmode=headless\n```\n\nwhere as browser either `chrome` or `firefox` can be selected.\n\n### Running the tests on a different OS\nCurrently the tests are configured to run just on MacOS. But this can be changed [here](https://github.com/edinc/java-selenium-framework/blob/master/src/main/java/selenium/driver/DriverManager.java#L21) , the relative path just has to be replaced with the appropriate driver for that OS.\n\n## Reports\n\nReporting of the tests results is one of the most important aspects of a framework. It doesn't matter how many and good your tests are when they are not enough visible. In this framework Allure was used to generate\nvisually rich and insightful reports.\n\n![Allure Report](.github/allure-img.png)\n\nAllure has to be installed before being able to show test results:\n\n```\n$ brew untap qameta/allure\n$ brew update\n$ brew install allure\n```\n\nAfter every test run the results are automatically stored in an `allure-results` directory. The results then can be seen locally by running:\n\n```\nallure serve\n```\n\nor in all popular CI's with the help of allure plugins.\n## Contact\n\nOpen a github issue or for suggestions a Pull Request straight away.","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedinc%2Fjava-selenium-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedinc%2Fjava-selenium-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedinc%2Fjava-selenium-framework/lists"}