{"id":14978818,"url":"https://github.com/dipjyotimetia/hybridtestframework","last_synced_at":"2025-04-08T04:19:38.457Z","repository":{"id":37039107,"uuid":"165759464","full_name":"dipjyotimetia/HybridTestFramework","owner":"dipjyotimetia","description":"End to End testing of Web, API, Cloud, Events and Security","archived":false,"fork":false,"pushed_at":"2024-04-09T13:56:17.000Z","size":186008,"stargazers_count":136,"open_issues_count":1,"forks_count":62,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-04-10T03:46:34.477Z","etag":null,"topics":["allure-report","appium","appium-testng","automation-framework","aws","browserstack","cloudevents","crossbrowsertesting","docker-container","graphql","grpc-java","java17","kafka","mobiletesting","owasp","selenium","selenium-java","selenium-webdriver","testcontainers","testing"],"latest_commit_sha":null,"homepage":"https://dipjyotimetia.github.io/HybridTestFramework/","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/dipjyotimetia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-01-15T00:55:10.000Z","updated_at":"2024-04-15T08:46:24.520Z","dependencies_parsed_at":"2023-12-25T00:19:25.610Z","dependency_job_id":"69b8c2f1-b862-4fa9-910b-c06405511b06","html_url":"https://github.com/dipjyotimetia/HybridTestFramework","commit_stats":null,"previous_names":[],"tags_count":38,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipjyotimetia%2FHybridTestFramework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipjyotimetia%2FHybridTestFramework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipjyotimetia%2FHybridTestFramework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipjyotimetia%2FHybridTestFramework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dipjyotimetia","download_url":"https://codeload.github.com/dipjyotimetia/HybridTestFramework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247773915,"owners_count":20993669,"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":["allure-report","appium","appium-testng","automation-framework","aws","browserstack","cloudevents","crossbrowsertesting","docker-container","graphql","grpc-java","java17","kafka","mobiletesting","owasp","selenium","selenium-java","selenium-webdriver","testcontainers","testing"],"created_at":"2024-09-24T13:58:28.054Z","updated_at":"2025-04-08T04:19:38.435Z","avatar_url":"https://github.com/dipjyotimetia.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HybridTestFramework\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/2ffd9c97725645c2bcda860988dc0baf)](https://www.codacy.com/gh/dipjyotimetia/HybridTestFramework/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=dipjyotimetia/HybridTestFramework\u0026amp;utm_campaign=Badge_Grade)\n[![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/CypressTest/Selenium)\n[![CI](https://github.com/dipjyotimetia/HybridTestFramework/actions/workflows/gradle.yml/badge.svg)](https://github.com/dipjyotimetia/HybridTestFramework/actions/workflows/gradle.yml)  \n[![Discord Chat](https://www.vectorlogo.zone/logos/discord/discord-ar21.svg)](https://discord.gg/eE3gjXqXHx)\n\n### Supported By\n\n[![SupportedBy JetBrains](https://github.com/TestautoDev/Tricks-And-Tips/blob/master/jetbrains.svg)](https://www.jetbrains.com/?from=HybridTestFramework)\n\u003cimg src=\"docs/img/lambda_logo.svg\" width=\"500\"\u003e\n\nIn the era of [cloud-native](https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/definition) world we\ncannot stick to a particular framework, however due to projects requirement we often need to evolve the existing testing\nsolution in such a way so that it can cater multiple testing requirement,\nhence [HybridTestFramework](https://github.com/dipjyotimetia/HybridTestFramework) is targeting to create a bridge\nbetween the kind of legacy systems\nor the systems which are still in a transition phase of migrate to cloud with super cool cloud-native systems.\nIta comprehensive and versatile testing framework designed to cover various aspects of software testing.\nIts purpose is to help developers and testers streamline their testing process and ensure the highest quality in their\napplications.\n\nDon't forget to star the repository! Your support is what keeps me motivated!\n\n\u003cimg src=\"docs/img/framework.png\" width=\"900\" alt=\"\"\u003e\n\n### Framework Capabilities\n\n* Cross browser testing support.\n* Added browserstack support for CrossBrowser testing.\n* Running tests in docker containers selenium grid.\n* Running tests in AWS DeviceFarm selenium grid.\n* Running tests in selenium server in docker containers.\n* Security testing using OWASP, running in docker container.\n* Rest Api and GraphQL testing support powered by RestAssured.\n* gRPC api testing support using native gRPC=java library.\n* Event driven microservice testing based on pubsub model.\n* Support for Kafka, Cloud Pubsub, AWS SNS testing and continue evolving.\n* Visual regression testing using percy.io.\n* Accessibility testing using axe-selenium.\n* Stubbed api testing using WireMock.\n* Logging integration with ElasticSearch for Kibana dashboard visualization\n* Database testing support.\n* Kubernetes support.\n\n### Setup \u0026 Tools\n\n* Install IntelliJ IDEA\n  https://www.jetbrains.com/idea/download/\n* Install docker desktop\n  https://www.docker.com/products/docker-desktop\n* Java JDK_17  \n  https://adoptium.net/temurin/releases/?version=17\n* Gradle\n  https://gradle.org/next-steps/?version=8.5\u0026format=bin\n* Allure\n  https://github.com/allure-framework/allure2/archive/2.25.0.zip\n* Set Environment variables\n    * JAVA_HOME: Pointing to the Java SDK folder\\bin\n    * GRADLE_HOME: Pointing to Gradle directory\\bin.\n    * ALLURE_HOME: Pointing to allure directory\\bin.\n\n### Getting Started\n\n```shell script\ngit clone \ncd \n# import project from intellij as a gradle project\ngradle clean\ngradle build\ngradle task api\ngradle task web\ngradle task mobile\ngradle allureReport\ngradle allureServe\n```\n\n### Write your first user journey\n\nCreate new class and name as the TC00*_E2E_TEST-***\n\n- Provide jira link in @Link\n- Provide all the api components as @Feature\n- Provide test severity and description\n- Write test\n- Use CatchBlock in try/catch section\n\n### Spin-up chrome, firefox, selenium hub and OWASP proxy server\n\n```shell script\ndocker-compose up -d\n```\n\n### Complete infrastructure creation for local run\n\n```shell script\ndocker-compose -f docker-compose-infra up -d\n```\n\n### Spin-up four additional node-chrome/firefox instances linked to the hub\n\n```shell script\ndocker-compose scale chrome=5\ndocker-compose scale firefox=5\n```\n\n### Spin-up kafka instances\n\n```shell\ndocker-compose -f docker-compose-kafka.yml up\ndocker-compose -f docker-compose-kafka.yml down --rmi all\n```\n\n### Spin-up selenium hub in kubernetes instance\n\n```shell\nkubectl apply -f selenium-k8s-deploy-svc.yaml\nkubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml\nkubectl proxy\nkubectl describe secret -n kube-system | grep deployment -A 12\n## To delete deployments\nkubectl delete deployment selenium-node-firefox\nkubectl delete deployment selenium-node-chrome\nkubectl delete deployment selenium-hub\n```\n\nnavigate\nto `http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/`   \n\u003cimg src=\"https://github.com/dipjyotimetia/HybridTestFramework/blob/master/docs/img/kubernetes.png\" width=\"800\"\u003e\n\n### Browserstack Execution Gif\n\n![browserstack](https://github.com/dipjyotimetia/HybridTestFramework/blob/master/docs/gif/videogif.gif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdipjyotimetia%2Fhybridtestframework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdipjyotimetia%2Fhybridtestframework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdipjyotimetia%2Fhybridtestframework/lists"}