HybridTestFrameworkEnd to End testing of Web, API and Security

联合创作 · 2023-09-27 09:23

HybridTestFramework


Codacy Badge This project is using Percy.io for visual regression testing.


Full-fledged WEB, API and Security testing framework using selenium,ZAP OWASP proxy and rest-assured



Supported Platforms


This framework supports WebUi automation across a variety of browsers like Chrome, Firefox, IE, no only limited to this but extended to test rest api, security and visual testing.


Capabilities



  • 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

  • Api testing support using RestAssured

  • 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

  • Kafka testing support

  • Kubernetes support


Setup & Tools



Getting Started



$ git clone 
$ cd
$ import project from intellij as a gradle project
$ gradle clean
$ gradle build
$ gradle task E2E
$ gradle allureReport
$ gradle allureServe


Write your first user journey


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


Spin-up chrome, firefox, selenium hub and OWASP proxy server



$ docker-compose up -d


Complete infrastructure creation for local run



$ $ docker-compose -f docker-compose-infra up -d


Spin-up four additional node-chrome/firefox instances linked to the hub



$ docker-compose scale chrome=5
$ docker-compose scale firefox=5


Spin-up kafka instances



$ docker-compose -f docker-compose-kafka.yml up
$ docker-compose -f docker-compose-kafka.yml down --rmi all


Spin-up selenium hub in kubernetes instance



$ kubectl apply -f selenium-k8s-deploy-svc.yaml
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.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/


Execution Gif


浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报