SlideShare a Scribd company logo
@BagmarAnand
Streamlining
End-to-End
Test Automation
Anand Bagmar
Software Quality Evangelist
@BagmarAnand
Anand Bagmar
@BagmarAnand
About Me
Ground
Reality
Distributed teams
Hybrid working
Different network setup and speeds
Many teams
(>100)
Mac, Windows and Linux laptops
Different Software versions
Certificates, Policies and multiple VPNs
Inconsistent
Developer &
SDET experience
Test execution environment setup is tedious
System Tests (e2e & component UI): teswiz (Appium, Selenium, Applitools, JDK 17)
• Emulator/Simulator setup (Android SDK, xcode)
API & API Workflow tests: karate
Contract tests: Specmatic
Unit tests, Sonar code quality checks
Test automation
toolset
Many environments
Test data
Branch
Configuring appropriate test execution in build and release pipelines
Complex path to
production
ADO agents: Windows Server & Linux agents
Firewall restrictions download dependencies
Direct access prohibited to CI agents
Multiple node & JDK versions
Connectivity issues to application-under-test
No browsers/devices on CI agents
CI execution
@BagmarAnand
Path to Production
@BagmarAnand
Getting a simple automated
test to run consistently for
all Developers and Testers
and in CI (ADO) is painful!
Setup
Execution (full or specific tests)
@BagmarAnand
Challenges of
End-2-End
Test
Automation
Ensuring Test
Environment Consistency
Coordinated Test
Execution
Test setup & execution on
CI Agents
@BagmarAnand
Solutions
Implemented
@BagmarAnand
Consistent
Environment Setup
#1
@BagmarAnand
• Setup important applications on Mac
• https://gist.github.com/anandbagmar/92b9f92298b1e17fa32c3404ad115
871
• Script to setup Android SDK on Mac
• https://github.com/anandbagmar/AppiumJavaSample/blob/master/setup
AndroidSDK.sh
• Script to setup Android SDK on Linux
• https://github.com/anandbagmar/AppiumJavaSample/blob/master/setup
_linux.sh
Test Authoring Environment Setup
@BagmarAnand
• Node script to install all dependencies (for system tests):
• https://github.com/znsio/getting-started-with-
teswiz/blob/main/package.json
• npm install – and you are ready!
Test Execution Environment Setup
@BagmarAnand
Test Automation
Framework support
#2
@BagmarAnand
• Setup should be simple – Ex:
• git pull
• ./gradlew build
• No code change required for
• Running tests against any environment (local, dev, qa, staging, prod, etc.)
• Test data and environment configurations are separately maintained
• Running all or subset of tests
• Tests should run from command-line
Test Automation Framework Criteria
@BagmarAnand
Your Ultimate Open-Source Solution to
Automate Real-User Scenarios!
@BagmarAnand
Architecture
@BagmarAnand
Run tests
from CLI
Test Authoring
Execution Setup
1
2
2
3
4
5
6
6
Execution Reports
CI Tool
Feature coverage
@BagmarAnand 16
• Web browsers
• Mobile-web browsers
• Android apps
• iOS apps
• Windows desktop apps
• Electron apps
Platform support
@BagmarAnand
• Open source framework to automate real-user scenarios
• Multi-user
• Multi-device
• Multi-app
• Setup a HARD-GATE for your functional tests!
Unique capabilities of teswiz
@BagmarAnand
• Cloud device farm integrations
• Applitools AI for validations
• Comprehensive reports with trend analysis, feature
coverage, failure analysis using AI-ML
• CLI
• Configurable
Unique capabilities of teswiz
Defaults
Property
files
Environment
Variables
@BagmarAnand
CI Execution
@BagmarAnand
Node Setup
#3
@BagmarAnand
Use the right node version
@BagmarAnand
Use the right node version
@BagmarAnand
Script for
downloading artifacts
#4
@BagmarAnand
• For System Tests, the artifact (apk/app) could have been
generated from another pipeline
• This artifact needs to be available in local or cloud device
before tests can start execution
Script for downloading artifacts – Why?
@BagmarAnand
• Understand the CI tool APIs
• Script downloads the android/iOS artifact for:
• Specific branch
• Latest successful build, or a specific build number
Script for downloading artifacts
@BagmarAnand
• Script uploads the android/iOS artifact to your device farm
OR
• Teswiz can upload it automatically for you
Script for downloading artifacts – Bonus!
@BagmarAnand
Proxy handling
#5
@BagmarAnand
• Understand what dependencies in your framework need proxy
information. Ex:
• Gradle/maven
• Downloading newer version of browser drivers
• Any external connectivity
• Framework should be configurable to pass this at test execution
time. Ex:
• No proxy required from local laptop execution
• Proxy required when running tests from CI
Proxy Handling
@BagmarAnand
@BagmarAnand
updateGradlePropertiesForDevOps.sh
@BagmarAnand
Downloading
dependencies - Uber jar
#6
@BagmarAnand
• To reduce the number of dependencies to be downloaded,
teswiz is built as a uber jar.
• Specify only “teswiz” as a dependency in your test framework
Uber jar
@BagmarAnand
• Run as a java process
• ./gradlew run
Uber jar
@BagmarAnand
Run browser in
docker
#7
@BagmarAnand
• CI agents may not have browsers installed
• The installed browser may be an older version
Run browser in docker – Why?
@BagmarAnand
• Should allow support for any os/architecture
• Should allow choosing the browser (ex: firefox, chrome, etc.)
• Should allow starting the containers with specific project
names and dynamic ports to prevent conflict with multiple
test executions
• Support specifying proxy information
• Can be used on local laptops as well as in CI executions
Run browser in docker
@BagmarAnand
https://github.com/znsio/teswiz/blob/main/dockerContainers.sh
https://github.com/znsio/teswiz/blob/main/docker-compose-v3.yml
Template for running
tests in build pipeline
#8
@BagmarAnand
Path to Production
@BagmarAnand
• Create templates
• Reuse with appropriate configuration parameters
Running tests in Build Pipeline
@BagmarAnand
@BagmarAnand
Task Groups for running
tests in release pipeline
#9
@BagmarAnand
Path to Production
@BagmarAnand
• Create Task Groups
• Include in each relevant stage of Release pipeline
Running tests in Release Pipeline
@BagmarAnand
@BagmarAnand
@BagmarAnand
@BagmarAnand
@BagmarAnand
@BagmarAnand
@BagmarAnand
Hard Gate
Make your tests valuable!
#10
@BagmarAnand
@BagmarAnand
What is a Hard Gate! Why is it required?
https://github.com/znsio/teswiz/blob/main/docs/HardGate.md
• Automated tests should allow you to take decisions on
product quality
@BagmarAnand
What is a Hard Gate! Why is it required?
https://github.com/znsio/teswiz/blob/main/docs/HardGate.md
• For every test execution cycle:
• Passing tests are expected to pass
• Known Failing tests are supposed to fail, unless:
• The product (bug) is fixed, OR
• The test is fixed/updated
If either criteria is not met, the build should fail!
@BagmarAnand
Hard Gate - Make your tests valuable!
https://github.com/znsio/teswiz/blob/main/docs/HardGate.md
Build passes if Hard Gate criteria is met.
Build fails if
• one or more passing tests have failed, or,
• one or more failing tests have passed
@BagmarAnand
Functional (e2e) Automation as Hard Gate!
https://github.com/znsio/teswiz/blob/main/docs/HardGate.md
Applitools Visual AI
for validations
#11
@BagmarAnand
AI-powered Validations
@BagmarAnand
90% less code to write & maintain with infinite coverage.
WITH APPLITOOLS AI
Every Element Is Validated They Look & Work Perfect
Use Applitools Ultrafast Grid (UFG)
- Test is simpler – one call to Applitools
(eyes.checkWindow()) validates the full screen
- Run the test once
- Get results from all browsers automatically
- Less test data
- No additional load on the application environment
@BagmarAnand
• Works for all platforms
• Native & hybrid apps – android, iOS
• Web browsers
• Desktop applications
• Electron applications
• Seamless scaling using Applitools Ultrafast Grid
@BagmarAnand
Applitools Visual AI
Specify as many browsers with viewports and devices
as required for validation
You do not need to do cross-browser validation at the
end anymore!
@BagmarAnand
AI-powered Cross Browser Test Automation
reportportal as a
Central reporting server
#12
@BagmarAnand
@BagmarAnand
A central reporting server for your
organization
@BagmarAnand
Test Execution
Real-time status
• See progress of launches
currently in progress
• Can also see details of tests
that are currently running, till
the point of execution
@BagmarAnand
Test Execution Details – Device farm report link & Device logs
• The link to the device farm test execution
dashboard is available in the result
• teswiz attaches browser logs/device logs
automatically to the result in ReportPortal
@BagmarAnand
Test Execution Details – with screenshots
• The test result includes screenshots as
captured by the test
@BagmarAnand
Test Execution Details – Applitools Visual AI Validation Results
• The test result includes the status of
Applitools Visual AI validation
• Link to the Applitools dashboard is available in
the result
@BagmarAnand
Test Execution Trend Analysis
• Each test shows the trend of its execution –
giving an indication of (in)stability
@BagmarAnand
Test Results – Next Steps
• On investigation of the failed tests, mark the
failures with appropriate reasons (as
configured)
@BagmarAnand
Auto-analysis of failed tests
Analyse the failure reasons by Auto-Analyzer based on Machine Learning
@BagmarAnand
Auto Analysis of Test Failures
• Why waste time
marking the test
failed for the same
reason as last time?
• ReportPortal can do
this automatically
for you with the
Auto Analysis and
Pattern Analysis
feature
@BagmarAnand
Auto Analysis of Test Failures
@BagmarAnand
Test Result
Visualization
Configure simple and
understandable
reports
• Create as many dashboards as
relevant for the team
• Dashboards may be for different
persona/role, giving appropriate
information
@BagmarAnand
• Teswiz and karate test frameworks can automatically upload
test results to your reportportal server
• sendToReportPortal:
• https://github.com/znsio/sendToReportPortal/blob/main/importRes
ultsAndUpdateAttributes.sh
• Can upload junit test results generated by any type of tests to
reportportal with relevant test execution metadata
reportportal.io
@BagmarAnand
Challenges
• Ensuring Test
Environment Consistency
• Coordinated Test
Execution
• Test setup & execution on
CI Agents
Solutions
Consistent environment setup
Test Automation Framework support
Node setup
Script for downloading artifacts
Proxy Handling
Downloading dependencies - Uber Jar
Browsers in docker
Template for build pipelines
Task groups for release pipelines
Hard Gate
AI for validations
Central reporting server
Summary
@BagmarAnand
@BagmarAnand
Anand Bagmar
@BagmarAnand
Thank you

More Related Content

PDF
Automating the real-user scenarios across multi-apps, and multi-devices
PPTX
Solving the Automation Puzzle - how to select the right automation framework ...
PDF
Integrate Your Test Automation Tools for More Power
PDF
Test automation - Building effective solutions
PPTX
Zero to tested
PPTX
Creating testing tools to support development
DOCX
The Journey of Test Automation
PDF
Proven Approaches to AI-Powered E2E Testing.pdf
Automating the real-user scenarios across multi-apps, and multi-devices
Solving the Automation Puzzle - how to select the right automation framework ...
Integrate Your Test Automation Tools for More Power
Test automation - Building effective solutions
Zero to tested
Creating testing tools to support development
The Journey of Test Automation
Proven Approaches to AI-Powered E2E Testing.pdf

Similar to Streamlining End-to-End Testing Automation (20)

PPTX
The Right Tool for the Right Project
PDF
Autonomous End-to-End Testing for Online Banking Applications Presented with ...
PDF
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
PDF
Web application automated testing types and tools
PDF
A Test Automation Platform Designed for the Future
PDF
Conquer 6 Testing Challenges_Applitools.pdf
PPTX
Automation testing
PPTX
Streamline Your Testing: A Guide to Automation Testing Tools
PDF
10 Best Functional Testing Tools for 2024
PPTX
Neev Independent Testing Services
PDF
Top 10 Automation Testing Tools in 2020
PDF
Automated software testing complete guide
PPTX
Diving into the World of Test Automation The Approach and the Technologies
PDF
Introducing the Applitools Self Healing Execution Cloud.pdf
PDF
AI-Driven Test Automation_ A Comprehensive Guide to Strategically Scaling for...
PPTX
Real Testing Scenario Strategy Practical TestOps Presentation
PDF
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...
PDF
Master tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 Professio
PDF
Continuous Integration testing based on Selenium and Hudson
PDF
Open Source tools in Continuous Integration environment (case study for agil...
The Right Tool for the Right Project
Autonomous End-to-End Testing for Online Banking Applications Presented with ...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Web application automated testing types and tools
A Test Automation Platform Designed for the Future
Conquer 6 Testing Challenges_Applitools.pdf
Automation testing
Streamline Your Testing: A Guide to Automation Testing Tools
10 Best Functional Testing Tools for 2024
Neev Independent Testing Services
Top 10 Automation Testing Tools in 2020
Automated software testing complete guide
Diving into the World of Test Automation The Approach and the Technologies
Introducing the Applitools Self Healing Execution Cloud.pdf
AI-Driven Test Automation_ A Comprehensive Guide to Strategically Scaling for...
Real Testing Scenario Strategy Practical TestOps Presentation
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...
Master tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 Professio
Continuous Integration testing based on Selenium and Hudson
Open Source tools in Continuous Integration environment (case study for agil...
Ad

More from Anand Bagmar (20)

PDF
The Path to Autonomous Testing - Anand Bagmar
PDF
My Journey With Appium @AppiumConf Sept 2024
PDF
Eradicate Flaky Tests
PDF
Visual Validation - The missing tip of the automation pyramid @GoT2022
PDF
Design Patterns in Automation
PDF
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
PDF
Rewrite vs Refactor (AgileIndia 2021)
PDF
Next Generation Functional & Visual Testing powered by AI
PDF
The Best Test Automation Framework is...
PDF
Eradicate Flaky Tests - AppiumConf 2021
PDF
Getting started with Appium 2.0
PDF
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
PDF
Selenium Deep Dive
PDF
Does your functional automation really add value?
PDF
Measuring Coverage From E2E Tests
PDF
Getting started with Visual Testing using Applitools - @TPC, Feb2020
PDF
Visual validation - The missing tip of the automation pyramid @ QA Symposium
PDF
Collaboration - A Taboo!
PDF
Visual Validation - The Missing Tip of the Automation Pyramid
PDF
Measuring Consumer Quality - The Missing Feedback Loop
The Path to Autonomous Testing - Anand Bagmar
My Journey With Appium @AppiumConf Sept 2024
Eradicate Flaky Tests
Visual Validation - The missing tip of the automation pyramid @GoT2022
Design Patterns in Automation
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Rewrite vs Refactor (AgileIndia 2021)
Next Generation Functional & Visual Testing powered by AI
The Best Test Automation Framework is...
Eradicate Flaky Tests - AppiumConf 2021
Getting started with Appium 2.0
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Selenium Deep Dive
Does your functional automation really add value?
Measuring Coverage From E2E Tests
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Collaboration - A Taboo!
Visual Validation - The Missing Tip of the Automation Pyramid
Measuring Consumer Quality - The Missing Feedback Loop
Ad

Recently uploaded (20)

PDF
Nekopoi APK 2025 free lastest update
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
System and Network Administration Chapter 2
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
AI in Product Development-omnex systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Introduction to Artificial Intelligence
Nekopoi APK 2025 free lastest update
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
System and Network Administration Chapter 2
Odoo POS Development Services by CandidRoot Solutions
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
AI in Product Development-omnex systems
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
2025 Textile ERP Trends: SAP, Odoo & Oracle
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development
Softaken Excel to vCard Converter Software.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Which alternative to Crystal Reports is best for small or large businesses.pdf
CHAPTER 2 - PM Management and IT Context
Upgrade and Innovation Strategies for SAP ERP Customers
Design an Analysis of Algorithms I-SECS-1021-03
Introduction to Artificial Intelligence

Streamlining End-to-End Testing Automation

  • 3. Ground Reality Distributed teams Hybrid working Different network setup and speeds Many teams (>100) Mac, Windows and Linux laptops Different Software versions Certificates, Policies and multiple VPNs Inconsistent Developer & SDET experience Test execution environment setup is tedious System Tests (e2e & component UI): teswiz (Appium, Selenium, Applitools, JDK 17) • Emulator/Simulator setup (Android SDK, xcode) API & API Workflow tests: karate Contract tests: Specmatic Unit tests, Sonar code quality checks Test automation toolset Many environments Test data Branch Configuring appropriate test execution in build and release pipelines Complex path to production ADO agents: Windows Server & Linux agents Firewall restrictions download dependencies Direct access prohibited to CI agents Multiple node & JDK versions Connectivity issues to application-under-test No browsers/devices on CI agents CI execution @BagmarAnand
  • 5. Getting a simple automated test to run consistently for all Developers and Testers and in CI (ADO) is painful! Setup Execution (full or specific tests) @BagmarAnand
  • 6. Challenges of End-2-End Test Automation Ensuring Test Environment Consistency Coordinated Test Execution Test setup & execution on CI Agents @BagmarAnand
  • 9. • Setup important applications on Mac • https://gist.github.com/anandbagmar/92b9f92298b1e17fa32c3404ad115 871 • Script to setup Android SDK on Mac • https://github.com/anandbagmar/AppiumJavaSample/blob/master/setup AndroidSDK.sh • Script to setup Android SDK on Linux • https://github.com/anandbagmar/AppiumJavaSample/blob/master/setup _linux.sh Test Authoring Environment Setup @BagmarAnand
  • 10. • Node script to install all dependencies (for system tests): • https://github.com/znsio/getting-started-with- teswiz/blob/main/package.json • npm install – and you are ready! Test Execution Environment Setup @BagmarAnand
  • 12. • Setup should be simple – Ex: • git pull • ./gradlew build • No code change required for • Running tests against any environment (local, dev, qa, staging, prod, etc.) • Test data and environment configurations are separately maintained • Running all or subset of tests • Tests should run from command-line Test Automation Framework Criteria @BagmarAnand
  • 13. Your Ultimate Open-Source Solution to Automate Real-User Scenarios! @BagmarAnand
  • 15. Run tests from CLI Test Authoring Execution Setup 1 2 2 3 4 5 6 6 Execution Reports CI Tool Feature coverage @BagmarAnand 16
  • 16. • Web browsers • Mobile-web browsers • Android apps • iOS apps • Windows desktop apps • Electron apps Platform support @BagmarAnand
  • 17. • Open source framework to automate real-user scenarios • Multi-user • Multi-device • Multi-app • Setup a HARD-GATE for your functional tests! Unique capabilities of teswiz @BagmarAnand
  • 18. • Cloud device farm integrations • Applitools AI for validations • Comprehensive reports with trend analysis, feature coverage, failure analysis using AI-ML • CLI • Configurable Unique capabilities of teswiz Defaults Property files Environment Variables @BagmarAnand
  • 21. Use the right node version @BagmarAnand
  • 22. Use the right node version @BagmarAnand
  • 24. • For System Tests, the artifact (apk/app) could have been generated from another pipeline • This artifact needs to be available in local or cloud device before tests can start execution Script for downloading artifacts – Why? @BagmarAnand
  • 25. • Understand the CI tool APIs • Script downloads the android/iOS artifact for: • Specific branch • Latest successful build, or a specific build number Script for downloading artifacts @BagmarAnand
  • 26. • Script uploads the android/iOS artifact to your device farm OR • Teswiz can upload it automatically for you Script for downloading artifacts – Bonus! @BagmarAnand
  • 28. • Understand what dependencies in your framework need proxy information. Ex: • Gradle/maven • Downloading newer version of browser drivers • Any external connectivity • Framework should be configurable to pass this at test execution time. Ex: • No proxy required from local laptop execution • Proxy required when running tests from CI Proxy Handling @BagmarAnand
  • 31. Downloading dependencies - Uber jar #6 @BagmarAnand
  • 32. • To reduce the number of dependencies to be downloaded, teswiz is built as a uber jar. • Specify only “teswiz” as a dependency in your test framework Uber jar @BagmarAnand
  • 33. • Run as a java process • ./gradlew run Uber jar @BagmarAnand
  • 35. • CI agents may not have browsers installed • The installed browser may be an older version Run browser in docker – Why? @BagmarAnand
  • 36. • Should allow support for any os/architecture • Should allow choosing the browser (ex: firefox, chrome, etc.) • Should allow starting the containers with specific project names and dynamic ports to prevent conflict with multiple test executions • Support specifying proxy information • Can be used on local laptops as well as in CI executions Run browser in docker @BagmarAnand https://github.com/znsio/teswiz/blob/main/dockerContainers.sh https://github.com/znsio/teswiz/blob/main/docker-compose-v3.yml
  • 37. Template for running tests in build pipeline #8 @BagmarAnand
  • 39. • Create templates • Reuse with appropriate configuration parameters Running tests in Build Pipeline @BagmarAnand
  • 41. Task Groups for running tests in release pipeline #9 @BagmarAnand
  • 43. • Create Task Groups • Include in each relevant stage of Release pipeline Running tests in Release Pipeline @BagmarAnand
  • 50. Hard Gate Make your tests valuable! #10 @BagmarAnand
  • 51. @BagmarAnand What is a Hard Gate! Why is it required? https://github.com/znsio/teswiz/blob/main/docs/HardGate.md • Automated tests should allow you to take decisions on product quality
  • 52. @BagmarAnand What is a Hard Gate! Why is it required? https://github.com/znsio/teswiz/blob/main/docs/HardGate.md • For every test execution cycle: • Passing tests are expected to pass • Known Failing tests are supposed to fail, unless: • The product (bug) is fixed, OR • The test is fixed/updated If either criteria is not met, the build should fail!
  • 53. @BagmarAnand Hard Gate - Make your tests valuable! https://github.com/znsio/teswiz/blob/main/docs/HardGate.md Build passes if Hard Gate criteria is met. Build fails if • one or more passing tests have failed, or, • one or more failing tests have passed
  • 54. @BagmarAnand Functional (e2e) Automation as Hard Gate! https://github.com/znsio/teswiz/blob/main/docs/HardGate.md
  • 55. Applitools Visual AI for validations #11 @BagmarAnand
  • 57. 90% less code to write & maintain with infinite coverage. WITH APPLITOOLS AI Every Element Is Validated They Look & Work Perfect Use Applitools Ultrafast Grid (UFG) - Test is simpler – one call to Applitools (eyes.checkWindow()) validates the full screen - Run the test once - Get results from all browsers automatically - Less test data - No additional load on the application environment @BagmarAnand
  • 58. • Works for all platforms • Native & hybrid apps – android, iOS • Web browsers • Desktop applications • Electron applications • Seamless scaling using Applitools Ultrafast Grid @BagmarAnand Applitools Visual AI
  • 59. Specify as many browsers with viewports and devices as required for validation You do not need to do cross-browser validation at the end anymore! @BagmarAnand AI-powered Cross Browser Test Automation
  • 60. reportportal as a Central reporting server #12 @BagmarAnand
  • 62. A central reporting server for your organization @BagmarAnand
  • 63. Test Execution Real-time status • See progress of launches currently in progress • Can also see details of tests that are currently running, till the point of execution @BagmarAnand
  • 64. Test Execution Details – Device farm report link & Device logs • The link to the device farm test execution dashboard is available in the result • teswiz attaches browser logs/device logs automatically to the result in ReportPortal @BagmarAnand
  • 65. Test Execution Details – with screenshots • The test result includes screenshots as captured by the test @BagmarAnand
  • 66. Test Execution Details – Applitools Visual AI Validation Results • The test result includes the status of Applitools Visual AI validation • Link to the Applitools dashboard is available in the result @BagmarAnand
  • 67. Test Execution Trend Analysis • Each test shows the trend of its execution – giving an indication of (in)stability @BagmarAnand
  • 68. Test Results – Next Steps • On investigation of the failed tests, mark the failures with appropriate reasons (as configured) @BagmarAnand
  • 69. Auto-analysis of failed tests Analyse the failure reasons by Auto-Analyzer based on Machine Learning @BagmarAnand
  • 70. Auto Analysis of Test Failures • Why waste time marking the test failed for the same reason as last time? • ReportPortal can do this automatically for you with the Auto Analysis and Pattern Analysis feature @BagmarAnand
  • 71. Auto Analysis of Test Failures @BagmarAnand
  • 72. Test Result Visualization Configure simple and understandable reports • Create as many dashboards as relevant for the team • Dashboards may be for different persona/role, giving appropriate information @BagmarAnand
  • 73. • Teswiz and karate test frameworks can automatically upload test results to your reportportal server • sendToReportPortal: • https://github.com/znsio/sendToReportPortal/blob/main/importRes ultsAndUpdateAttributes.sh • Can upload junit test results generated by any type of tests to reportportal with relevant test execution metadata reportportal.io @BagmarAnand
  • 74. Challenges • Ensuring Test Environment Consistency • Coordinated Test Execution • Test setup & execution on CI Agents Solutions Consistent environment setup Test Automation Framework support Node setup Script for downloading artifacts Proxy Handling Downloading dependencies - Uber Jar Browsers in docker Template for build pipelines Task groups for release pipelines Hard Gate AI for validations Central reporting server Summary @BagmarAnand