{"id":15626668,"url":"https://github.com/neonidian/selenium-java-bdd-tests","last_synced_at":"2026-05-11T07:41:49.348Z","repository":{"id":104228214,"uuid":"332281006","full_name":"neonidian/selenium-java-bdd-tests","owner":"neonidian","description":"Gherkin style BDD tests using Selenium and Java","archived":false,"fork":false,"pushed_at":"2022-05-14T13:19:44.000Z","size":134,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-04T18:38:12.424Z","etag":null,"topics":["bdd","bdd-gherkin","gradle","java","selenium","selenium-bdd-java-template","selenium-java","test-automation","testng","testng-bdd","webdriver"],"latest_commit_sha":null,"homepage":"","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/neonidian.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":"2021-01-23T18:31:21.000Z","updated_at":"2022-07-24T18:05:05.000Z","dependencies_parsed_at":"2023-07-18T16:31:28.099Z","dependency_job_id":null,"html_url":"https://github.com/neonidian/selenium-java-bdd-tests","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neonidian%2Fselenium-java-bdd-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neonidian%2Fselenium-java-bdd-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neonidian%2Fselenium-java-bdd-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neonidian%2Fselenium-java-bdd-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neonidian","download_url":"https://codeload.github.com/neonidian/selenium-java-bdd-tests/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246217380,"owners_count":20742183,"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":["bdd","bdd-gherkin","gradle","java","selenium","selenium-bdd-java-template","selenium-java","test-automation","testng","testng-bdd","webdriver"],"created_at":"2024-10-03T10:13:15.769Z","updated_at":"2026-05-11T07:41:49.273Z","avatar_url":"https://github.com/neonidian.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Selenium with Java and BDD on Mitigram website\nMitigram is a digital platform for trade financing. More info at https://mitigram.com/\n\n## Overview\n* The repository contains browser based regression tests written in **Ghekrin style(Given-When-Then) using Cucumber Java library**\n* The Gherkin style feature tests are located at [src/test/resources/com/mitigram/web/features](src/test/resources/com/mitigram/web/features)\n* Pre-requisites to run the tests: Chrome browser, JDK installed\n* To execute all the tests, open commandline -\u003e go to this directory -\u003e run `./gradlew`(Linux or Mac OS) or `gradlew`(Windows OS)\n* After running the tests, the generated test reports can be viewed at [build/reports/tests/test/index.html](build/reports/tests/test/index.html) \n  and Cucumber generated test reports can be viewed at [build/cucumber-reports](build/cucumber-reports)\n  \n## Priority of regression tests\n* The priority of the regression tests in this repository are based on the critical functionalities(which I think) of the application\n* Based on the criticality, they have been classified as 'high' or 'low' priority using Cucumber tags and these tags used\n  in TestNG suite XML configuration\n* 'high' priority tests defined in this repository means that these tests test the critical flow of the application \nand _must_ pass as part of quality check\n* 'low' priority tests defined in this repository means that these tests test functionality that are 'good to have' but \nmay not block a release\n  \n### Running high priority tests\nTo run only _high_ priority tests use the command use the Gradle task `highPriorityRegressionTests`\nE.g., In Linux or Mac, open command-line and use this command \n```console\n./gradlew highPriorityRegressionTests\n```\n\n### Running low priority tests\nTo run only _low_ priority tests use the command use the Gradle task `lowPriorityRegressionTests`\nE.g., \nIn Linux or Mac, open command-line and use this command \n```console\n./gradlew lowPriorityRegressionTests\n```\nFor Windows, open command-line like powershell and use this command \n```console\ngradlew lowPriorityRegressionTests\n```\n\n## Build system, libraries used\n* Gradle is used as the build system. Build file - [build.gradle](build.gradle)\n* TestNG library is used as the test library because it provides better way of handling parallel execution, order of execution\n* TestNG suite XML configuration located at [src/test/resources/com/mitigram/web/testngrunners](src/test/resources/com/mitigram/web/testngrunners) \n  files have been used in the [build.gradle](build.gradle) file to run tests based on priority\n* Cucumber library is used for writing BDD style specification tests\n* Selenium library is used for browser based automation\n* Webdrivermanager library is used for managing Selenium driver executables for various browsers\n* Hamcrest is used as the assertion library\n* Apache Commons configuration is used to retrieve configuration. Currently, only type of browser can be configured \n  through [src/test/resources/com/mitigram/web/browser.properties](src/test/resources/com/mitigram/web/browser.properties) file. This library can be further used\n  to use system properties, XML configuration and more when needed\n  \n## Test framework\n* Page object model is used\n* The [pages package](src/test/java/com/mitigram/web/pages) defines the functionality to be performed in a web page\n* The [framework package](src/test/java/com/mitigram/web/framework) defines the Selenium based framework to perform actions in the browser\n* The [regressiontests package](src/test/java/com/mitigram/web/regressiontests) provides the glue code for Cucumber tests based on priority\n\n## Browsers supported\n* Chrome, Firefox, Edge browsers are supported\n* The browser can be configured through browser.properties located at \n  [src/test/resources/com/mitigram/web/browser.properties](src/test/resources/com/mitigram/web/browser.properties) file\n\n## Running tests in IDE\nTo run tests in any Java based IDE,\n1. Make sure TestNG IDE plugin is installed(mostly IDEs have this plugin by default)\n2. Go to the glue code [directory](src/test/java/com/mitigram/web/regressiontests)\n3. Right-click the file you would like to run based on priority and select a context action \n   which says like _Run tests_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneonidian%2Fselenium-java-bdd-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneonidian%2Fselenium-java-bdd-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneonidian%2Fselenium-java-bdd-tests/lists"}