In the era of cloud-native world we cannot stick to a particular framework, however due to projects requirement we often need to evolve the existing testing solution in such a way so that it can cater multiple testing requirement, hence HybridTestFramework is targeting to create a bridge between the kind of legacy systems or the systems which are still in a transition phase of migrate to cloud with super cool cloud-native systems.
- Cross browser testing support.
- Added browserstack support for CrossBrowser testing.
- Running tests in docker containers selenium grid.
- Running tests in AWS DeviceFarm selenium grid.
- Running tests in selenium server in docker containers.
- Security testing using OWASP, running in docker container.
- Rest Api and GraphQL testing support powered by RestAssured.
- gRPC api testing support using native gRPC=java library.
- Event driven microservice testing based on pubsub model.
- Support for Kafka, Cloud Pubsub, AWS SNS testing and continue evolving.
- Visual regression testing using percy.io.
- Accessibility testing using axe-selenium.
- Stubbed api testing using WireMock.
- Can send logs to ElasticSearch for kibana dashboard visualization.
- Database testing support.
- Kubernetes support.
- Install IntelliJ IDEA https://www.jetbrains.com/idea/download/
- Install docker desktop https://www.docker.com/products/docker-desktop
- Java JDK_11
https://adoptium.net/temurin/archive - Gradle https://gradle.org/next-steps/?version=6.8.3&format=bin
- Allure https://github.com/allure-framework/allure2/archive/2.17.3.zip
- Set Environment variables
- JAVA_HOME: Pointing to the Java SDK folder\bin
- GRADLE_HOME: Pointing to Gradle directory\bin.
- ALLURE_HOME: Pointing to allure directory\bin.
$ git clone
$ cd
$ import project from intellij as a gradle project
$ gradle clean
$ gradle build
$ gradle task web
$ gradle task mobile
$ gradle allureReport
$ gradle allureServe
Create new class and name as the TC00*_E2E_TEST-***
- Provide jira link in @Link
- Provide all the api components as @Feature
- Provide test severity and description
- Write test
- Use CatchBlock in try/catch section
$ docker-compose up -d
$ $ docker-compose -f docker-compose-infra up -d
$ docker-compose scale chrome=5
$ docker-compose scale firefox=5
$ docker-compose -f docker-compose-kafka.yml up
$ docker-compose -f docker-compose-kafka.yml down --rmi all
$ kubectl apply -f selenium-k8s-deploy-svc.yaml
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
$ kubectl proxy
$ kubectl describe secret -n kube-system | grep deployment -A 12
## To delete deployments
$ kubectl delete deployment selenium-node-firefox
$ kubectl delete deployment selenium-node-chrome
$ kubectl delete deployment selenium-hub
navigate to http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/