SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
WSO2 Test Automation
Framework
Approach and Adoption
By
Krishantha Samaraweera
Technical Lead, Test Automation
Dharshana Warusavitharana
Software Engineer, Test Automation
About WSO2
● Providing the only complete open source componentized cloud
platform
● Dedicated to removing all the stumbling blocks to enterprise agility
● Enabling you to focus on business logic and business value
● Recognized by leading analyst firms as visionaries and leaders
● Gartner cites WSO2 as visionaries in all 3 categories of application
infrastructure
● Forrester places WSO2 in top 2 for API Management
● Global corporation with offices in USA, UK & Sri Lanka
● 200+ employees and growing
● Business model of selling comprehensive support &
maintenance for our products
150+ globally positioned support customers
Agenda
● Requirements and early efforts of Automation in WSO2.
● Approach and Adoption.
● Framework overview.
● Adopting scenarios and flexibility.
● Architecture overview.
● Automation Framework Structure.
● Anticipating challenges of automation.
● Demos
○ Admin service client API base integration test.
○ Selenium integration test.
○ Test with tooling support (Jmeter).
Requirements Of Automation At WSO2
● Should be easy to adopt and manage.
● The automated test suites are subject to run on
○ Integration
○ Platform
○ Private or public cloud
● Environments on User / Tenant mode.
● Single test case should be able to
run seamlessly on all above executions.
● Should be able to run with nightly build
systems such as Bamboo or Jenkins
Requirements Of Automation At WSO2
● Should be able to run existing Jmeter test scripts.
● Should support UI Automation.
● All tests should be available as deliverable artifact - Platform
Automated Test Suite.
● Open source and release under apache License.
● Coverage and Reporting.
History Of Automation In WSO2
● Developed first UI test framework in 2009 based on Selenium.
● Separate framework for testing Data Services.
● Developed component test framework in 2010
● Developed Integration test framework in 2011 - AKA CTF
● Various ruby, perl, ant and shell scripts to automate product
testing with different web application containers and databases.
● System Test Framework in 2012
● Framework unification -
Test Automation Framework = Integration test framework +
System test framework in 2012 August
Approach to Test Automation At WSO2
Test Automation
approach/design
Test
Automation
Requirements
Understanding
testing
Environments
Understanding
System Under
Test
What we will Automate at WSO2
● Platform scenarios.
● Integration scenarios.
● UI scenarios.
● Real world use cases.
● Performance and Security scenarios.
● Patches provided.
Overview of Automation Framework
Test Automation Framework is to make automation
● Eazy
● Organized
● Relevant
● Optimized
Technology Outline
Test Framework Build Systems
Code Coverage
Tooling Support
Execution Environment
In Automation WSO2 is focusing on the following execution
scenarios.
● Integration tests - Which verifies the product build at build level.
○ User mode which allows run product as a standalone user.
○ Tenant mode Which allows product run as a cloud based
deployment.
● Platform tests - Which verifies the scenarios on platforms which
contains more than one WSO2 product or integration with different
platforms.
● Cloud based deployment test (Stratos based tests) - Which
executes the tests based targeting cloud deployments.
Adopting Scenarios
Flexibilities Provided By Automation Framework
● Manage several products inside single test.
● Manage users in several product domains.
● Deployment of artifacts for different products under different
users.
● Automatic authentication.
● Configured admin service clients as test oriented API.
● Retrieving test environment configurations easily.
● Running same test in both local and Stratos environments.
● Reporting TestNg and surefire reports for all your tests.
● Tooling support of Selenium and Jmeter.
Architecture Overview
● Depends on TestNg Listeners.
● Platform wide single framework
● Context providing interfaces.
● Admin Service based Automation API.
● Selenium page object repository and element mapper.
● Automation framework Utils.
● Coverage and Reporting.
Automation Framework Overall Architecture
user.csv /
tenant.csv
automation.
properties
instrument.txt
Result
Automation Framework CoreTest
Dashboard
Maven
Test
Managers
Test Suite
Surefire
TestNg Automation
Framework API
Automation
Framework Utills
User
Populator
Coverage
(emma
Server
manager
Custom
Reporter
Context
Provider
Framework Core
Core
PlatformExecutionManager
PlatformSuiteManager
PlatformTestManager
PlatformAnnotationTransferManag
er
PlatformInvokedMethodManager
PlatformReportManager
Environment
Context
Framework
Annotations
Artifact Management
User Management
Server Management
Coverage
Custom Error Reporting
Execution Template - TestNg
Execution Started
@BeforeSuite
@AfterSuite
Execution Closed
@BeforeTest
@AfterTest
@BeforeClass
@BeforeGroups
@BeforeMethod
@AfterMethod
@AfterGroups
@AfterClass
Reference:- http://www.ibm.
com/developerworks/java/library/j-testng/
TestNg Listeners
● Listeners are interfaces allows to modify TestNG's
behavior.
● Listeners are binned to a testNg execution.
● Listeners implement the interface org.testng.ITestListener
○ IExecutionListener
■ Triggers at start and end of any execution.
■ ISuiteListener.
○ ITestListner
■ Triggers at suite start and end.
■ Triggers at Test start, Finish, Failure, Skip and partial failure.
● Reporters implement the interface org.testng.IReporter
○ Notified when all the suites have been run by TestNG.
○ The IReporter instance receives a summary of entire test run
Usage of Listeners
● PlatformExecutionManager (IExecutionListener)
○ onExecutionStart()
■ Emma instrumentations
■ Server start
○ onExecutionFinish()
■ Server Shutdown
■ Emma report generation
● PlatformSuiteManager (ISuiteListener)
○ Set environment properties ex- Key Store Paths
○ Populate Users.
Usage of Listeners contd..
● PlatformReportManager (IReporter)
○ Generate TestNg Report
○ Generate surefire report
○ Export data for Dashboard
● PlatformInvokedMethodManager (InvokedMethodListener)
○ Artifact deployment in platform scenarios.
● PlatformAnnotationTransferManager (IAnnotationTransformer)
○ Annotation-Platform-user type based test selection.
Context providing interfaces
● Execution Based context - automation.properties
● Platform Based Context - automation.properties
● User Based Context - user.csv / tenant.csv
● Coverage Based Context - instrumentation.txt
Automation Properties
stratos.test=false
#execution.environment = integration|platform|stratos
execution.environment=integration
#execution.mode = user|tenant|all
execution.mode=user
port.enable=true
carbon.web.context.enable=false
service.deployment.delay=30000
cluster.enable=true
product.list=ESB
builder.enable=true
coverage.enable=true
● To configure Test framework
for the environment and
configure package details
● Contains all information about The environment.
Context provider Architecture
user.csv /
tenant.csv
automation.
properties
instrument.
txt
EnvironmentContext
ContextProvider
GroupContextProvider
NodeReader
UrlGenerator
NodeContextProvider
Result
Global Context
FrameworkContextPr
ovider
UserInfoRea
der
Global
Context
Test
ContextInitiator
Server Management
● Needs to configure the server and start the server with in the
test case.
● Most of the cases it might be
○ Single serve with single instance
○ Single server with multiple instance
○ Multiple product servers in a clustered environment.
● In this module framework is managing
○ Extract and configure the server.
○ Add offsets and deploy custom modules needs for the test.
Test Execution Modes
● Handled by a custom annotation introduced at test class and method level
●
●
●
● Annotations are based on the execution environment and the user type of the test
● Tests are skipped at the "PlatformAnnotationTransferManager"
● integration_all, integration_user, integration_tenant, platform_all, platform_user,
platform_tenant, stratos, all
@SetEnvironment(executionEnvironments = {ExecutionEnvironment.integration_all})
public void createGroup() throws Exception
{ }
#execution.environment = integration|platform|stratos
execution.environment=integration
#execution.mode = user|tenant|all
execution.mode=user
Automation Framework API
● Test Friendly api wrapping service stubs.
○ Depends on service stubs.
○ Provides unified approach for perform verify and assert
of each admin service.
● Encapsulates the complexity of changing all available tests
in a case of a stub change.
● Maintain Page object classes for Selenium Automation.
● Using UI maps to store locators required for test scripts.
● Updates with the relevant release version.
Automation Framework Utils
● Includes all utility classes that can play supportive role inside a
test.
○ Ex :-
■ Axis2 Client.
■ Wire message monitor.
■ Custom server startup scenarios (Axis2, Tomcat,Qpid).
■ Concurrency test scenarios.
● Provides common methodology for all development teams to
maintain a set of supportive classes without changing the Core.
● Reusability of utility methods in integration and platform tests.
Reporting
● Includes TestNg reports ,
SureFire report, And Emma
Coverage report
● Directories containing separate
results for each suite ( Directory
name is as same as the suite
name).
● Surefire reports.
● index.html (Dashboard for
executed test).
|-- reports
| |-- BPSStructuredSuite
| | |-- classes.html
| | |-- FlowClient.html
| | |-- FlowClient.properties
| | |-- FlowClient.xml
| | |-- ForEachClient.html
| | |-- ForEachClient.properties
| | |-- ForEachClient.xml
| |-- index.html
| |-- junitreports
| | |-- TEST-org.wso2.automation.
common.test.bps.mgts.
BpelStructAct_FlowClient.xml
| | |-- TEST-org.wso2.automation.
common.test.bps.mgtst.
BpelStructAct_forEachClient.xml
Platform Automated Test Suite
● Distribution contain product integration and platform test jars.
● ANT based test jar executor - using TestNg ant task
● Ability to execute tests on different environments.
● Provide options to run test suites, packages and individual
classes.
● TestNg reports.
● Generate mail with test results.
● Preview build available at https://svn.wso2.
org/repos/wso2/people/krishantha/wso2pats-1.1.2.zip
Future Challenges
● Getting others to believe on automated tests.
● Improve coverage on Integration test scenarios.
● Adopting framework demanding requirement changes.
● Adopting framework with complex deployment scenarios.
Project Structure of Automated Tests
Coverage Statistics
Product Name LOC Coverage Class Coverage
ESB 38% 66%
G-Reg 46% 65%
DSS 49% 73%
CEP 57% 74%
MB 47% 90%
AS 20% 36%
API-Mgt 21% 42%
● Included only integration test coverage.
● Also guarded by loads of dependency and component level
unit tests.
● UI test coverage not included.
Write First Integration Test : Demo 1
Scenario To be Automated:
Deploy a webapp on WSO2 application server and invoke it
once deployed successfully. Then remove the webapp at the
end of test execution.
Write First Selenium Test : Demo 2
Scenario To be Automated:
Deploy a webapp through admin console as a war file and invoke
once deployed successfully.
Write Fist Jmeter Test : Demo 3
Scenario To be Automated:
Deploy Simple Axis2Service on WSO2 Application Server and
invoke it. Then remove the service at the end of test execution.
Questions?
Engage with WSO2
● Helping you get the most out of your deployments
● From project evaluation and inception to development
and going into production, WSO2 is your partner in
ensuring 100% project success

Contenu connexe

Tendances

Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration StrategiesJesus Rodriguez
 
IT서비스관리 표준, ISO20000의 이해
IT서비스관리 표준, ISO20000의 이해IT서비스관리 표준, ISO20000의 이해
IT서비스관리 표준, ISO20000의 이해에스티이지 (STEG)
 
JUnit5 and TestContainers
JUnit5 and TestContainersJUnit5 and TestContainers
JUnit5 and TestContainersSunghyouk Bae
 
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision TreeApache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision TreeSlim Baltagi
 
Mulesoft Anypoint platform introduction
Mulesoft Anypoint platform introductionMulesoft Anypoint platform introduction
Mulesoft Anypoint platform introductiongijish
 
Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Chris Richardson
 
Product management class rookie to pro
Product management class rookie to proProduct management class rookie to pro
Product management class rookie to proBim Akinfenwa
 
Microservices: The Right Way
Microservices: The Right WayMicroservices: The Right Way
Microservices: The Right WayDaniel Woods
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...luisw19
 
Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheusKasper Nissen
 
Coder sans peur du changement avec la meme pas mal hexagonal architecture
Coder sans peur du changement avec la meme pas mal hexagonal architectureCoder sans peur du changement avec la meme pas mal hexagonal architecture
Coder sans peur du changement avec la meme pas mal hexagonal architectureThomas Pierrain
 
Building Event Driven Services with Kafka Streams
Building Event Driven Services with Kafka StreamsBuilding Event Driven Services with Kafka Streams
Building Event Driven Services with Kafka StreamsBen Stopford
 
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...HostedbyConfluent
 
Resource-Oriented Architecture (ROA)
Resource-Oriented Architecture (ROA)Resource-Oriented Architecture (ROA)
Resource-Oriented Architecture (ROA)WSO2
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63Angel Alberici
 
Mule ESB - Integration Simplified
Mule ESB - Integration SimplifiedMule ESB - Integration Simplified
Mule ESB - Integration SimplifiedRich Software
 

Tendances (20)

Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
IT서비스관리 표준, ISO20000의 이해
IT서비스관리 표준, ISO20000의 이해IT서비스관리 표준, ISO20000의 이해
IT서비스관리 표준, ISO20000의 이해
 
JUnit5 and TestContainers
JUnit5 and TestContainersJUnit5 and TestContainers
JUnit5 and TestContainers
 
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision TreeApache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree
 
Mulesoft Anypoint platform introduction
Mulesoft Anypoint platform introductionMulesoft Anypoint platform introduction
Mulesoft Anypoint platform introduction
 
Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...
 
REST API
REST APIREST API
REST API
 
Product management class rookie to pro
Product management class rookie to proProduct management class rookie to pro
Product management class rookie to pro
 
Microservices: The Right Way
Microservices: The Right WayMicroservices: The Right Way
Microservices: The Right Way
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
 
Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheus
 
Coder sans peur du changement avec la meme pas mal hexagonal architecture
Coder sans peur du changement avec la meme pas mal hexagonal architectureCoder sans peur du changement avec la meme pas mal hexagonal architecture
Coder sans peur du changement avec la meme pas mal hexagonal architecture
 
Apigee Products Overview
Apigee Products OverviewApigee Products Overview
Apigee Products Overview
 
Building Event Driven Services with Kafka Streams
Building Event Driven Services with Kafka StreamsBuilding Event Driven Services with Kafka Streams
Building Event Driven Services with Kafka Streams
 
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
 
Resource-Oriented Architecture (ROA)
Resource-Oriented Architecture (ROA)Resource-Oriented Architecture (ROA)
Resource-Oriented Architecture (ROA)
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
 
Mule ESB - Integration Simplified
Mule ESB - Integration SimplifiedMule ESB - Integration Simplified
Mule ESB - Integration Simplified
 
React & GraphQL
React & GraphQLReact & GraphQL
React & GraphQL
 

En vedette

Automation framework
Automation framework Automation framework
Automation framework ITeLearn
 
A Test Automation Framework
A Test Automation FrameworkA Test Automation Framework
A Test Automation FrameworkGregory Solovey
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsTest Automaton
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeterWSO2
 
Frisby: Rest API Automation Framework
Frisby: Rest API Automation FrameworkFrisby: Rest API Automation Framework
Frisby: Rest API Automation FrameworkQuovantis
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
Productivity Acceleration Tools for SOA Testers
Productivity Acceleration Tools for SOA TestersProductivity Acceleration Tools for SOA Testers
Productivity Acceleration Tools for SOA TestersWSO2
 
Testing in an Open Source Middleware Platform Space The WSO2 Way.
Testing in an Open Source Middleware Platform Space  The WSO2 Way.Testing in an Open Source Middleware Platform Space  The WSO2 Way.
Testing in an Open Source Middleware Platform Space The WSO2 Way.WSO2
 
Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework DevelopementGlasdon Falcao
 
Syntribos API Security Test Automation
Syntribos API Security Test AutomationSyntribos API Security Test Automation
Syntribos API Security Test AutomationMatthew Valdes
 
Automation testing API in Java
Automation testing API in JavaAutomation testing API in Java
Automation testing API in JavaWix.com
 
Automated Voice And Audio Quality Test Measurement
Automated Voice And Audio Quality Test MeasurementAutomated Voice And Audio Quality Test Measurement
Automated Voice And Audio Quality Test Measurementguest5a90cfc
 
RESTful API Automation with JavaScript
RESTful API Automation with JavaScriptRESTful API Automation with JavaScript
RESTful API Automation with JavaScriptJonathan LeBlanc
 

En vedette (20)

Automation framework
Automation framework Automation framework
Automation framework
 
A Test Automation Framework
A Test Automation FrameworkA Test Automation Framework
A Test Automation Framework
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter
 
Frisby Api automation
Frisby Api automationFrisby Api automation
Frisby Api automation
 
Frisby: Rest API Automation Framework
Frisby: Rest API Automation FrameworkFrisby: Rest API Automation Framework
Frisby: Rest API Automation Framework
 
Key Factors To Ensure Test Automation Framework Success
Key Factors To Ensure Test Automation Framework SuccessKey Factors To Ensure Test Automation Framework Success
Key Factors To Ensure Test Automation Framework Success
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Productivity Acceleration Tools for SOA Testers
Productivity Acceleration Tools for SOA TestersProductivity Acceleration Tools for SOA Testers
Productivity Acceleration Tools for SOA Testers
 
Testing in an Open Source Middleware Platform Space The WSO2 Way.
Testing in an Open Source Middleware Platform Space  The WSO2 Way.Testing in an Open Source Middleware Platform Space  The WSO2 Way.
Testing in an Open Source Middleware Platform Space The WSO2 Way.
 
Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework Developement
 
API TEST
API TESTAPI TEST
API TEST
 
API TEST
API TESTAPI TEST
API TEST
 
Syntribos API Security Test Automation
Syntribos API Security Test AutomationSyntribos API Security Test Automation
Syntribos API Security Test Automation
 
Automation testing API in Java
Automation testing API in JavaAutomation testing API in Java
Automation testing API in Java
 
Automated Voice And Audio Quality Test Measurement
Automated Voice And Audio Quality Test MeasurementAutomated Voice And Audio Quality Test Measurement
Automated Voice And Audio Quality Test Measurement
 
Analisis Frisby
Analisis FrisbyAnalisis Frisby
Analisis Frisby
 
Wso2 test automation framework internal training
Wso2 test automation framework internal trainingWso2 test automation framework internal training
Wso2 test automation framework internal training
 
RESTful API Automation with JavaScript
RESTful API Automation with JavaScriptRESTful API Automation with JavaScript
RESTful API Automation with JavaScript
 
Frisby®
Frisby®Frisby®
Frisby®
 

Similaire à WSO2 Test Automation Framework : Approach and Adoption

КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...GoQA
 
Test automation - Building effective solutions
Test automation - Building effective solutionsTest automation - Building effective solutions
Test automation - Building effective solutionsArtem Nagornyi
 
Modern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsModern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsJulian Warszawski
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010TEST Huddle
 
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)IRJET Journal
 
MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUn...
MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUn...MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUn...
MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUn...Jitendra Bafna
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationIRJET Journal
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemQualitest
 
Valsatech selenium octopus framework-whitepages
Valsatech selenium octopus framework-whitepagesValsatech selenium octopus framework-whitepages
Valsatech selenium octopus framework-whitepagesChandra Sabbavarpu
 
ScriptRock Overview
ScriptRock OverviewScriptRock Overview
ScriptRock OverviewCloudCheckr
 
QA Automation Solution
QA Automation SolutionQA Automation Solution
QA Automation SolutionDataArt
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptxpavelpopov43
 
PranathiSadhulaAutomationTester
PranathiSadhulaAutomationTesterPranathiSadhulaAutomationTester
PranathiSadhulaAutomationTesterPranathi Sadhula
 

Similaire à WSO2 Test Automation Framework : Approach and Adoption (20)

Quality for developers
Quality for developersQuality for developers
Quality for developers
 
Automation for developers
Automation for developersAutomation for developers
Automation for developers
 
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
 
Test automation - Building effective solutions
Test automation - Building effective solutionsTest automation - Building effective solutions
Test automation - Building effective solutions
 
Test automation within a scrum process
Test automation within a scrum processTest automation within a scrum process
Test automation within a scrum process
 
Introduction to clarity
Introduction to clarityIntroduction to clarity
Introduction to clarity
 
Modern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsModern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving Ecosystems
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
 
Resume_QA
Resume_QAResume_QA
Resume_QA
 
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
 
MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUn...
MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUn...MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUn...
MuleSoft Surat Virtual Meetup#6 - MuleSoft API Led Connectivity, SEDA and MUn...
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous Integration
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated system
 
Valsatech selenium octopus framework-whitepages
Valsatech selenium octopus framework-whitepagesValsatech selenium octopus framework-whitepages
Valsatech selenium octopus framework-whitepages
 
ScriptRock Overview
ScriptRock OverviewScriptRock Overview
ScriptRock Overview
 
QA Automation Solution
QA Automation SolutionQA Automation Solution
QA Automation Solution
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
 
PranathiSadhulaAutomationTester
PranathiSadhulaAutomationTesterPranathiSadhulaAutomationTester
PranathiSadhulaAutomationTester
 
About QTP 9.2
About QTP 9.2About QTP 9.2
About QTP 9.2
 
About Qtp_1 92
About Qtp_1 92About Qtp_1 92
About Qtp_1 92
 

Plus de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Plus de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Dernier

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

WSO2 Test Automation Framework : Approach and Adoption

  • 1. WSO2 Test Automation Framework Approach and Adoption By Krishantha Samaraweera Technical Lead, Test Automation Dharshana Warusavitharana Software Engineer, Test Automation
  • 2. About WSO2 ● Providing the only complete open source componentized cloud platform ● Dedicated to removing all the stumbling blocks to enterprise agility ● Enabling you to focus on business logic and business value ● Recognized by leading analyst firms as visionaries and leaders ● Gartner cites WSO2 as visionaries in all 3 categories of application infrastructure ● Forrester places WSO2 in top 2 for API Management ● Global corporation with offices in USA, UK & Sri Lanka ● 200+ employees and growing ● Business model of selling comprehensive support & maintenance for our products
  • 3. 150+ globally positioned support customers
  • 4. Agenda ● Requirements and early efforts of Automation in WSO2. ● Approach and Adoption. ● Framework overview. ● Adopting scenarios and flexibility. ● Architecture overview. ● Automation Framework Structure. ● Anticipating challenges of automation. ● Demos ○ Admin service client API base integration test. ○ Selenium integration test. ○ Test with tooling support (Jmeter).
  • 5. Requirements Of Automation At WSO2 ● Should be easy to adopt and manage. ● The automated test suites are subject to run on ○ Integration ○ Platform ○ Private or public cloud ● Environments on User / Tenant mode. ● Single test case should be able to run seamlessly on all above executions. ● Should be able to run with nightly build systems such as Bamboo or Jenkins
  • 6. Requirements Of Automation At WSO2 ● Should be able to run existing Jmeter test scripts. ● Should support UI Automation. ● All tests should be available as deliverable artifact - Platform Automated Test Suite. ● Open source and release under apache License. ● Coverage and Reporting.
  • 7. History Of Automation In WSO2 ● Developed first UI test framework in 2009 based on Selenium. ● Separate framework for testing Data Services. ● Developed component test framework in 2010 ● Developed Integration test framework in 2011 - AKA CTF ● Various ruby, perl, ant and shell scripts to automate product testing with different web application containers and databases. ● System Test Framework in 2012 ● Framework unification - Test Automation Framework = Integration test framework + System test framework in 2012 August
  • 8. Approach to Test Automation At WSO2 Test Automation approach/design Test Automation Requirements Understanding testing Environments Understanding System Under Test
  • 9. What we will Automate at WSO2 ● Platform scenarios. ● Integration scenarios. ● UI scenarios. ● Real world use cases. ● Performance and Security scenarios. ● Patches provided.
  • 10. Overview of Automation Framework Test Automation Framework is to make automation ● Eazy ● Organized ● Relevant ● Optimized
  • 11. Technology Outline Test Framework Build Systems Code Coverage Tooling Support Execution Environment
  • 12. In Automation WSO2 is focusing on the following execution scenarios. ● Integration tests - Which verifies the product build at build level. ○ User mode which allows run product as a standalone user. ○ Tenant mode Which allows product run as a cloud based deployment. ● Platform tests - Which verifies the scenarios on platforms which contains more than one WSO2 product or integration with different platforms. ● Cloud based deployment test (Stratos based tests) - Which executes the tests based targeting cloud deployments. Adopting Scenarios
  • 13. Flexibilities Provided By Automation Framework ● Manage several products inside single test. ● Manage users in several product domains. ● Deployment of artifacts for different products under different users. ● Automatic authentication. ● Configured admin service clients as test oriented API. ● Retrieving test environment configurations easily. ● Running same test in both local and Stratos environments. ● Reporting TestNg and surefire reports for all your tests. ● Tooling support of Selenium and Jmeter.
  • 14. Architecture Overview ● Depends on TestNg Listeners. ● Platform wide single framework ● Context providing interfaces. ● Admin Service based Automation API. ● Selenium page object repository and element mapper. ● Automation framework Utils. ● Coverage and Reporting.
  • 15. Automation Framework Overall Architecture user.csv / tenant.csv automation. properties instrument.txt Result Automation Framework CoreTest Dashboard Maven Test Managers Test Suite Surefire TestNg Automation Framework API Automation Framework Utills User Populator Coverage (emma Server manager Custom Reporter Context Provider
  • 17. Execution Template - TestNg Execution Started @BeforeSuite @AfterSuite Execution Closed @BeforeTest @AfterTest @BeforeClass @BeforeGroups @BeforeMethod @AfterMethod @AfterGroups @AfterClass Reference:- http://www.ibm. com/developerworks/java/library/j-testng/
  • 18. TestNg Listeners ● Listeners are interfaces allows to modify TestNG's behavior. ● Listeners are binned to a testNg execution. ● Listeners implement the interface org.testng.ITestListener ○ IExecutionListener ■ Triggers at start and end of any execution. ■ ISuiteListener. ○ ITestListner ■ Triggers at suite start and end. ■ Triggers at Test start, Finish, Failure, Skip and partial failure. ● Reporters implement the interface org.testng.IReporter ○ Notified when all the suites have been run by TestNG. ○ The IReporter instance receives a summary of entire test run
  • 19. Usage of Listeners ● PlatformExecutionManager (IExecutionListener) ○ onExecutionStart() ■ Emma instrumentations ■ Server start ○ onExecutionFinish() ■ Server Shutdown ■ Emma report generation ● PlatformSuiteManager (ISuiteListener) ○ Set environment properties ex- Key Store Paths ○ Populate Users.
  • 20. Usage of Listeners contd.. ● PlatformReportManager (IReporter) ○ Generate TestNg Report ○ Generate surefire report ○ Export data for Dashboard ● PlatformInvokedMethodManager (InvokedMethodListener) ○ Artifact deployment in platform scenarios. ● PlatformAnnotationTransferManager (IAnnotationTransformer) ○ Annotation-Platform-user type based test selection.
  • 21. Context providing interfaces ● Execution Based context - automation.properties ● Platform Based Context - automation.properties ● User Based Context - user.csv / tenant.csv ● Coverage Based Context - instrumentation.txt
  • 22. Automation Properties stratos.test=false #execution.environment = integration|platform|stratos execution.environment=integration #execution.mode = user|tenant|all execution.mode=user port.enable=true carbon.web.context.enable=false service.deployment.delay=30000 cluster.enable=true product.list=ESB builder.enable=true coverage.enable=true ● To configure Test framework for the environment and configure package details ● Contains all information about The environment.
  • 23. Context provider Architecture user.csv / tenant.csv automation. properties instrument. txt EnvironmentContext ContextProvider GroupContextProvider NodeReader UrlGenerator NodeContextProvider Result Global Context FrameworkContextPr ovider UserInfoRea der Global Context Test ContextInitiator
  • 24. Server Management ● Needs to configure the server and start the server with in the test case. ● Most of the cases it might be ○ Single serve with single instance ○ Single server with multiple instance ○ Multiple product servers in a clustered environment. ● In this module framework is managing ○ Extract and configure the server. ○ Add offsets and deploy custom modules needs for the test.
  • 25. Test Execution Modes ● Handled by a custom annotation introduced at test class and method level ● ● ● ● Annotations are based on the execution environment and the user type of the test ● Tests are skipped at the "PlatformAnnotationTransferManager" ● integration_all, integration_user, integration_tenant, platform_all, platform_user, platform_tenant, stratos, all @SetEnvironment(executionEnvironments = {ExecutionEnvironment.integration_all}) public void createGroup() throws Exception { } #execution.environment = integration|platform|stratos execution.environment=integration #execution.mode = user|tenant|all execution.mode=user
  • 26. Automation Framework API ● Test Friendly api wrapping service stubs. ○ Depends on service stubs. ○ Provides unified approach for perform verify and assert of each admin service. ● Encapsulates the complexity of changing all available tests in a case of a stub change. ● Maintain Page object classes for Selenium Automation. ● Using UI maps to store locators required for test scripts. ● Updates with the relevant release version.
  • 27. Automation Framework Utils ● Includes all utility classes that can play supportive role inside a test. ○ Ex :- ■ Axis2 Client. ■ Wire message monitor. ■ Custom server startup scenarios (Axis2, Tomcat,Qpid). ■ Concurrency test scenarios. ● Provides common methodology for all development teams to maintain a set of supportive classes without changing the Core. ● Reusability of utility methods in integration and platform tests.
  • 28. Reporting ● Includes TestNg reports , SureFire report, And Emma Coverage report ● Directories containing separate results for each suite ( Directory name is as same as the suite name). ● Surefire reports. ● index.html (Dashboard for executed test). |-- reports | |-- BPSStructuredSuite | | |-- classes.html | | |-- FlowClient.html | | |-- FlowClient.properties | | |-- FlowClient.xml | | |-- ForEachClient.html | | |-- ForEachClient.properties | | |-- ForEachClient.xml | |-- index.html | |-- junitreports | | |-- TEST-org.wso2.automation. common.test.bps.mgts. BpelStructAct_FlowClient.xml | | |-- TEST-org.wso2.automation. common.test.bps.mgtst. BpelStructAct_forEachClient.xml
  • 29. Platform Automated Test Suite ● Distribution contain product integration and platform test jars. ● ANT based test jar executor - using TestNg ant task ● Ability to execute tests on different environments. ● Provide options to run test suites, packages and individual classes. ● TestNg reports. ● Generate mail with test results. ● Preview build available at https://svn.wso2. org/repos/wso2/people/krishantha/wso2pats-1.1.2.zip
  • 30. Future Challenges ● Getting others to believe on automated tests. ● Improve coverage on Integration test scenarios. ● Adopting framework demanding requirement changes. ● Adopting framework with complex deployment scenarios.
  • 31. Project Structure of Automated Tests
  • 32. Coverage Statistics Product Name LOC Coverage Class Coverage ESB 38% 66% G-Reg 46% 65% DSS 49% 73% CEP 57% 74% MB 47% 90% AS 20% 36% API-Mgt 21% 42% ● Included only integration test coverage. ● Also guarded by loads of dependency and component level unit tests. ● UI test coverage not included.
  • 33. Write First Integration Test : Demo 1 Scenario To be Automated: Deploy a webapp on WSO2 application server and invoke it once deployed successfully. Then remove the webapp at the end of test execution.
  • 34. Write First Selenium Test : Demo 2 Scenario To be Automated: Deploy a webapp through admin console as a war file and invoke once deployed successfully.
  • 35. Write Fist Jmeter Test : Demo 3 Scenario To be Automated: Deploy Simple Axis2Service on WSO2 Application Server and invoke it. Then remove the service at the end of test execution.
  • 37. Engage with WSO2 ● Helping you get the most out of your deployments ● From project evaluation and inception to development and going into production, WSO2 is your partner in ensuring 100% project success