SlideShare a Scribd company logo
1 of 62
Download to read offline
Deep dive into SoapUI
Andrii Olieinik
Senior QA Automation Engineer
About me
• Senior QA Automation Engineer
• About 10 years of work in Quality Assurance area
• DataArt IT school in Odessa and Lublin
• PhD, Theoretical physics
2
Agenda
• SoapUI
• Postman
• SoapUI projects
• Properties
• Assertions
• Groovy scripts
• JavaScript scripts
• Data Driven tests
• Custom reporting
• TestRunner
• Logs
• Authorization
• Maven
• Listeners
3
SoapUI
4
SoapUI is an open-source web service testing
application for service-oriented
architectures(SOA) and representational state
transfers (REST).
SoapUI was developed by Eviware software. In
2011, SmartBear Software acquired Eviware.
Tools
• Postman
• SoapUI
• Jmeter
• REST Assured: https://github.com/rest-assured/rest-assured
• Apache HttpClient: http://hc.apache.org
• Async Http Client: https://github.com/AsyncHttpClient/async-http-client
• RestTemplate https://docs.spring.io/spring/docs/current/javadoc-
api/org/springframework/web/client/RestTemplate.html
• Axis (SOAP): http://axis.apache.org/axis2/java/core/
• …
5
Postman
6
Postman
• REST requests
• SOAP requests +/-
• Collections (test sets)
• Scripts
• Variables
• Execute from command line (with Newman)
• Integration with CI (with Newman)
• JUnit reports (with Newman)
• Web Service Mocking
7
SoapUI
8
SOAP request/response
9
SoapUI
• REST requests
• SOAP requests
• Tests
• Test suits
• Scripts
• Variables
• Execute from command line
• Integration with CI
• Integration with Maven
• JUnit reports
• Web Service Mocking 10
SoapUI testcase
11
SoapUI assertions
12
More details
• Postman docs: https://www.getpostman.com/docs/
• Scripts in Postman: https://www.getpostman.com/docs/postman/scripts/intro_to_scripts
• Newman: https://github.com/postmanlabs/newman
• SoapUI: https://www.soapui.org/downloads/soapui/alternate-platforms.html
• Your First SoapUI Project: https://www.soapui.org/getting-started/your-first-soapui-project.html
• Structuring and Running Tests (SoapUI): https://www.soapui.org/Functional-Testing/structuring-
and-running-tests.html
• Getting Started with REST Testing in SoapUI: https://www.soapui.org/rest-testing/getting-
started.html
13
REST examples
• JSON Placeholder fake API: https://jsonplaceholder.typicode.com/
• National Digital Forecast Database (NDFD) REST Web Service:
http://graphical.weather.gov/xml/rest.php
• National Bank of Ukraine: http://www.bank.gov.ua/control/en/publish/article?art_id=25365630
• Narodowy Bank Polski: http://api.nbp.pl/en.html
14
WSDL examples
• ISBN Test: http://webservices.daehosting.com/services/isbnservice.wso?WSDL
• Country Information:
http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL
• Number Conversion:
http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL
• Bankleitzahlen Service: http://www.thomas-bayer.com/axis2/services/BLZService?wsdl
• National Digital Forecast Database (NDFD) SOAP Web Service: http://graphical.weather.gov/xml/
15
Project file
• Project data are stored in separate xmls files
16
Properties
• Project, TestSuite and TestCase have properties
17
Project properties
18
Properties Transfer
• Transferring Property Values: https://www.soapui.org/functional-testing/properties/transferring-
properties.html
19
Property Expansion
• ${#Scope#Property-name[#xpath-expression]}
• ${#Project#Property-name}refers to a Project Property
• ${#TestSuite#Property-name} refers to a TestSuite Property
• ${#TestCase#Property-name} refers to a TestCase Property
• ${TestStep-name#Property-name} refers to a property in a named TestStep.
20
Assertions (Property Content)
• Contains
• Not Contains
• JsonPath Count
• JsonPath Existance Match
• JsonPath Match
• JsonPath RegEx Match
• XPath Match
• XQuery Math
21
Assertions (Property Content)
22
Assertions (Property Content)
23
Assertions (Property Content)
• JsonPath Count
24
Assertions (Property Content)
• JsonPath Match
25
Assertions (Compliance, Status and Standarts)
• HTTP Download all resource
• Invalid HTTP Status Codes
• Not SOAP Fault
• Schema Compliance
• SOAP Fault
• SOAP Request
• SOAP Response
• Valid HTTP Status Codes
• WS-Addressing Request
• WS-Addressing Response
• WS-Security Status
26
Script assertion
27
Script assertion
• JsonSlurper
28
Other assertions
• SLA
• JMS
• JDBC
• Security
29
Groovy scripts
30
Groovy scripts
31
JavaScript scripts
32
JavaScript scripts
33
Setup/TearDown scripts
• Suite Setup/TearDown
• TestCase Setup/TearDown
34
Data Driven testing
35
Data Driven testing
36
Data Driven testing
37
Custom reporting
38
Custom reporting
39
Custom reporting
40
More details (Groovy)
• Groovy Documentation: http://groovy-lang.org/documentation.html
• Groovy JDK API Documentation: http://groovy-lang.org/gdk.html
• SoapUI Tips & Tricks: https://www.soapui.org/scripting-properties/tips-tricks.html
• 10 Groovy scripts on your finger tips – soapUI: https://learnsoapui.wordpress.com/2011/07/17/10-
groovy-scripts-on-your-finger-tips-soapui/
• SoapUI Groovy: Slurping JSON in Script Assertions:
https://thetestsuite.wordpress.com/2013/09/30/soapui-groovy-slurping-json-in-script-assertions/
• XML Parsing in soapUI: http://www.robert-nemet.com/2011/11/groovy-xml-parsing-in-soapui.html
41
TestRunner
42
TestRunner (options)
• ..SoapUI-5.4.0bintestrunner.bat
• testrunner.bat -s"TestSuite 1" -r -j D:REST-Project-1-soapui-project.xml -f D:SoapUI-5.4.0report
• a : Turns on exporting of all test results, not only errors
• c : The TestCase to run, used to narrow down the tests to run
• e : The endpoint to use when invoking test-requests, overrides the endpoint set in the project file
• f : Specifies the root folder to which test results should be exported
• j : Turns on exporting of JUnit-compatible reports, see below
• P : Sets project property with name=value, e.g. -Pendpoint=Value1 -PsomeOtherProperty=value2
• s : The TestSuite to run, used to narrow down the tests to run
43
SoapUI logs
• By default in ..SoapUI-5.4.0bin
• soapui-log4j.xml
• soapui.log
• soapui-errors.log
• global-groovy.log
44
Authorization
• Steps to run Twitter API with SoapUI: http://acodediary.com/twitter-api-with-soapui/
45
Authorization (generate bearer token)
46
Authorization (get access token)
47
Authorization (result)
48
Integration with Maven (project structure)
• To execute project run command: mvn integration-test
49
Integration with Maven (project structure)
50
Integration with Maven (execution result)
51
Integration with Maven (pom.xml)
52
Integration with Maven (pom.xml)
53
Integration with Maven (extensions)
• Put additional jars into ext folder
• Or add new module to the project
54
Listeners
• Create my-listeners.xml file in SoapUI-5.2.1binlisteners
• Create MyListener.java, compile it in jar file and put in SoapUI-5.2.1binext
• Create a directory build
• Run java compilation from the command line:
• javac -cp soapui-5.2.1.jar com/dataart/api/listeners/MyListener.java -d ./build
• Go to the build folder (cd build) and create a jar
• jar cvf YourJar.jar *
55
Listeners (source code)
56
Listeners (result)
57
More details
• Rupert Anderson SoapUI Cookbook
• Charitha Kankanamge Web Services Testing with soapUI
58
More details
• JSONPath - XPath for JSON: http://goessner.net/articles/JsonPath/
• Running Functional Tests (TestRunner): https://www.soapui.org/test-automation/running-functional-
tests.html
• SoapUI source code: https://github.com/SmartBear/soapui
• SoapUI and Maven: https://www.soapui.org/test-automation/maven/maven-2-x.html
• Source code in SoapUI maven: http://stackoverflow.com/questions/30320647/source-code-in-
soapui-maven
• Extending soapU: https://www.soapui.org/extension-plugins/old-style-extensions/developing-old-
style-extensions.html
• SoapUI JavaDoc: https://www.soapui.org/apidocs/allclasses-noframe.html
59
More details
• Custom report: https://github.com/a-oleynik/SoapUI/blob/master/CustomReport.groovy
• Maven project with SoapUI example: https://github.com/a-oleynik/SoapUI/tree/master/api-test
• Listener code example: https://github.com/a-oleynik/SoapUI/tree/master/Listener
60
Possible task
• Create custom report into an xml file.
• Create a Data Driven test and read data from excel file.
• Create a Maven project for your SoapUI project. Set the project up and execute it from the
command line.
61
Questions
• Questions?
62

More Related Content

What's hot

Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.jsRyan Anklam
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensJonathan LeBlanc
 
Api fundamentals
Api fundamentalsApi fundamentals
Api fundamentalsAgileDenver
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introductionsilenceIT Inc.
 
Web Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIWeb Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIDinesh Kaushik
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painSander Mak (@Sander_Mak)
 
Enterprise Tic-Tac-Toe
Enterprise Tic-Tac-ToeEnterprise Tic-Tac-Toe
Enterprise Tic-Tac-ToeScott Wlaschin
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
Cross-domain requests with CORS
Cross-domain requests with CORSCross-domain requests with CORS
Cross-domain requests with CORSVladimir Dzhuvinov
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewShahed Chowdhuri
 
Test Design and Automation for REST API
Test Design and Automation for REST APITest Design and Automation for REST API
Test Design and Automation for REST APIIvan Katunou
 
Type of DDoS attacks with hping3 example
Type of DDoS attacks with hping3 exampleType of DDoS attacks with hping3 example
Type of DDoS attacks with hping3 exampleHimani Singh
 
Swagger With REST APIs.pptx.pdf
Swagger With REST APIs.pptx.pdfSwagger With REST APIs.pptx.pdf
Swagger With REST APIs.pptx.pdfKnoldus Inc.
 

What's hot (20)

Cucumber and Spock Primer
Cucumber and Spock PrimerCucumber and Spock Primer
Cucumber and Spock Primer
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web Tokens
 
Callback Function
Callback FunctionCallback Function
Callback Function
 
Api fundamentals
Api fundamentalsApi fundamentals
Api fundamentals
 
Kong
KongKong
Kong
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
POSTMAN.pptx
POSTMAN.pptxPOSTMAN.pptx
POSTMAN.pptx
 
Web Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIWeb Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUI
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the pain
 
Enterprise Tic-Tac-Toe
Enterprise Tic-Tac-ToeEnterprise Tic-Tac-Toe
Enterprise Tic-Tac-Toe
 
Jwt Security
Jwt SecurityJwt Security
Jwt Security
 
Protocol Buffers
Protocol BuffersProtocol Buffers
Protocol Buffers
 
Api testing
Api testingApi testing
Api testing
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Cross-domain requests with CORS
Cross-domain requests with CORSCross-domain requests with CORS
Cross-domain requests with CORS
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
Test Design and Automation for REST API
Test Design and Automation for REST APITest Design and Automation for REST API
Test Design and Automation for REST API
 
Type of DDoS attacks with hping3 example
Type of DDoS attacks with hping3 exampleType of DDoS attacks with hping3 example
Type of DDoS attacks with hping3 example
 
Swagger With REST APIs.pptx.pdf
Swagger With REST APIs.pptx.pdfSwagger With REST APIs.pptx.pdf
Swagger With REST APIs.pptx.pdf
 

Similar to Deep dive into SoapUI

Introduction to SoapUI day 4-5
Introduction to SoapUI day 4-5Introduction to SoapUI day 4-5
Introduction to SoapUI day 4-5Qualitest
 
Soap UI - Lesson45
Soap UI - Lesson45Soap UI - Lesson45
Soap UI - Lesson45Qualitest
 
Operating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud MicroservicesOperating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud MicroservicesNoriaki Tatsumi
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.Andrey Oleynik
 
Zure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayZure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayOkko Oulasvirta
 
QuerySurge for DevOps
QuerySurge for DevOpsQuerySurge for DevOps
QuerySurge for DevOpsRTTS
 
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum
 
CICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overviewCICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overviewpdalian
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...DevOps4Networks
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Hong Tat Yew
 
DockerCon SF 2015: A New Model for Image Distribution
DockerCon SF 2015: A New Model for Image DistributionDockerCon SF 2015: A New Model for Image Distribution
DockerCon SF 2015: A New Model for Image DistributionDocker, Inc.
 
Docker Registry V2
Docker Registry V2Docker Registry V2
Docker Registry V2Docker, Inc.
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionPatrick Chanezon
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeMario IC
 
DevOps – Culture of continuous delivery & collaboration
DevOps – Culture of continuous delivery & collaborationDevOps – Culture of continuous delivery & collaboration
DevOps – Culture of continuous delivery & collaborationVinothini Raju
 

Similar to Deep dive into SoapUI (20)

Introduction to SoapUI day 4-5
Introduction to SoapUI day 4-5Introduction to SoapUI day 4-5
Introduction to SoapUI day 4-5
 
Soap UI - Lesson45
Soap UI - Lesson45Soap UI - Lesson45
Soap UI - Lesson45
 
Building XWiki
Building XWikiBuilding XWiki
Building XWiki
 
Operating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud MicroservicesOperating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud Microservices
 
Automated Testing in DevOps
Automated Testing in DevOpsAutomated Testing in DevOps
Automated Testing in DevOps
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.
 
Zure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayZure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training day
 
QuerySurge for DevOps
QuerySurge for DevOpsQuerySurge for DevOps
QuerySurge for DevOps
 
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
 
CICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overviewCICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overview
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)
 
DockerCon SF 2015: A New Model for Image Distribution
DockerCon SF 2015: A New Model for Image DistributionDockerCon SF 2015: A New Model for Image Distribution
DockerCon SF 2015: A New Model for Image Distribution
 
Docker Registry V2
Docker Registry V2Docker Registry V2
Docker Registry V2
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
 
Osconorion
OsconorionOsconorion
Osconorion
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As Code
 
[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions
 
DevOps – Culture of continuous delivery & collaboration
DevOps – Culture of continuous delivery & collaborationDevOps – Culture of continuous delivery & collaboration
DevOps – Culture of continuous delivery & collaboration
 

More from Andrey Oleynik

IT Talk TestNG 6 vs JUnit 4
IT Talk TestNG 6 vs JUnit 4IT Talk TestNG 6 vs JUnit 4
IT Talk TestNG 6 vs JUnit 4Andrey Oleynik
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Andrey Oleynik
 
Test cases and bug report v3.2
Test cases and bug report v3.2Test cases and bug report v3.2
Test cases and bug report v3.2Andrey Oleynik
 
Lecture #4. Requirements & tasks (Andrey Oleynik)
Lecture #4. Requirements & tasks (Andrey Oleynik)Lecture #4. Requirements & tasks (Andrey Oleynik)
Lecture #4. Requirements & tasks (Andrey Oleynik)Andrey Oleynik
 
Nature of thermodynamic and kinetic properties of water on the liquid-vapour ...
Nature of thermodynamic and kinetic properties of water on the liquid-vapour ...Nature of thermodynamic and kinetic properties of water on the liquid-vapour ...
Nature of thermodynamic and kinetic properties of water on the liquid-vapour ...Andrey Oleynik
 

More from Andrey Oleynik (6)

IT Talk TestNG 6 vs JUnit 4
IT Talk TestNG 6 vs JUnit 4IT Talk TestNG 6 vs JUnit 4
IT Talk TestNG 6 vs JUnit 4
 
TestNG vs. JUnit4
TestNG vs. JUnit4TestNG vs. JUnit4
TestNG vs. JUnit4
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)
 
Test cases and bug report v3.2
Test cases and bug report v3.2Test cases and bug report v3.2
Test cases and bug report v3.2
 
Lecture #4. Requirements & tasks (Andrey Oleynik)
Lecture #4. Requirements & tasks (Andrey Oleynik)Lecture #4. Requirements & tasks (Andrey Oleynik)
Lecture #4. Requirements & tasks (Andrey Oleynik)
 
Nature of thermodynamic and kinetic properties of water on the liquid-vapour ...
Nature of thermodynamic and kinetic properties of water on the liquid-vapour ...Nature of thermodynamic and kinetic properties of water on the liquid-vapour ...
Nature of thermodynamic and kinetic properties of water on the liquid-vapour ...
 

Recently uploaded

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 

Recently uploaded (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

Deep dive into SoapUI

  • 1. Deep dive into SoapUI Andrii Olieinik Senior QA Automation Engineer
  • 2. About me • Senior QA Automation Engineer • About 10 years of work in Quality Assurance area • DataArt IT school in Odessa and Lublin • PhD, Theoretical physics 2
  • 3. Agenda • SoapUI • Postman • SoapUI projects • Properties • Assertions • Groovy scripts • JavaScript scripts • Data Driven tests • Custom reporting • TestRunner • Logs • Authorization • Maven • Listeners 3
  • 4. SoapUI 4 SoapUI is an open-source web service testing application for service-oriented architectures(SOA) and representational state transfers (REST). SoapUI was developed by Eviware software. In 2011, SmartBear Software acquired Eviware.
  • 5. Tools • Postman • SoapUI • Jmeter • REST Assured: https://github.com/rest-assured/rest-assured • Apache HttpClient: http://hc.apache.org • Async Http Client: https://github.com/AsyncHttpClient/async-http-client • RestTemplate https://docs.spring.io/spring/docs/current/javadoc- api/org/springframework/web/client/RestTemplate.html • Axis (SOAP): http://axis.apache.org/axis2/java/core/ • … 5
  • 7. Postman • REST requests • SOAP requests +/- • Collections (test sets) • Scripts • Variables • Execute from command line (with Newman) • Integration with CI (with Newman) • JUnit reports (with Newman) • Web Service Mocking 7
  • 10. SoapUI • REST requests • SOAP requests • Tests • Test suits • Scripts • Variables • Execute from command line • Integration with CI • Integration with Maven • JUnit reports • Web Service Mocking 10
  • 13. More details • Postman docs: https://www.getpostman.com/docs/ • Scripts in Postman: https://www.getpostman.com/docs/postman/scripts/intro_to_scripts • Newman: https://github.com/postmanlabs/newman • SoapUI: https://www.soapui.org/downloads/soapui/alternate-platforms.html • Your First SoapUI Project: https://www.soapui.org/getting-started/your-first-soapui-project.html • Structuring and Running Tests (SoapUI): https://www.soapui.org/Functional-Testing/structuring- and-running-tests.html • Getting Started with REST Testing in SoapUI: https://www.soapui.org/rest-testing/getting- started.html 13
  • 14. REST examples • JSON Placeholder fake API: https://jsonplaceholder.typicode.com/ • National Digital Forecast Database (NDFD) REST Web Service: http://graphical.weather.gov/xml/rest.php • National Bank of Ukraine: http://www.bank.gov.ua/control/en/publish/article?art_id=25365630 • Narodowy Bank Polski: http://api.nbp.pl/en.html 14
  • 15. WSDL examples • ISBN Test: http://webservices.daehosting.com/services/isbnservice.wso?WSDL • Country Information: http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL • Number Conversion: http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL • Bankleitzahlen Service: http://www.thomas-bayer.com/axis2/services/BLZService?wsdl • National Digital Forecast Database (NDFD) SOAP Web Service: http://graphical.weather.gov/xml/ 15
  • 16. Project file • Project data are stored in separate xmls files 16
  • 17. Properties • Project, TestSuite and TestCase have properties 17
  • 19. Properties Transfer • Transferring Property Values: https://www.soapui.org/functional-testing/properties/transferring- properties.html 19
  • 20. Property Expansion • ${#Scope#Property-name[#xpath-expression]} • ${#Project#Property-name}refers to a Project Property • ${#TestSuite#Property-name} refers to a TestSuite Property • ${#TestCase#Property-name} refers to a TestCase Property • ${TestStep-name#Property-name} refers to a property in a named TestStep. 20
  • 21. Assertions (Property Content) • Contains • Not Contains • JsonPath Count • JsonPath Existance Match • JsonPath Match • JsonPath RegEx Match • XPath Match • XQuery Math 21
  • 26. Assertions (Compliance, Status and Standarts) • HTTP Download all resource • Invalid HTTP Status Codes • Not SOAP Fault • Schema Compliance • SOAP Fault • SOAP Request • SOAP Response • Valid HTTP Status Codes • WS-Addressing Request • WS-Addressing Response • WS-Security Status 26
  • 29. Other assertions • SLA • JMS • JDBC • Security 29
  • 34. Setup/TearDown scripts • Suite Setup/TearDown • TestCase Setup/TearDown 34
  • 41. More details (Groovy) • Groovy Documentation: http://groovy-lang.org/documentation.html • Groovy JDK API Documentation: http://groovy-lang.org/gdk.html • SoapUI Tips & Tricks: https://www.soapui.org/scripting-properties/tips-tricks.html • 10 Groovy scripts on your finger tips – soapUI: https://learnsoapui.wordpress.com/2011/07/17/10- groovy-scripts-on-your-finger-tips-soapui/ • SoapUI Groovy: Slurping JSON in Script Assertions: https://thetestsuite.wordpress.com/2013/09/30/soapui-groovy-slurping-json-in-script-assertions/ • XML Parsing in soapUI: http://www.robert-nemet.com/2011/11/groovy-xml-parsing-in-soapui.html 41
  • 43. TestRunner (options) • ..SoapUI-5.4.0bintestrunner.bat • testrunner.bat -s"TestSuite 1" -r -j D:REST-Project-1-soapui-project.xml -f D:SoapUI-5.4.0report • a : Turns on exporting of all test results, not only errors • c : The TestCase to run, used to narrow down the tests to run • e : The endpoint to use when invoking test-requests, overrides the endpoint set in the project file • f : Specifies the root folder to which test results should be exported • j : Turns on exporting of JUnit-compatible reports, see below • P : Sets project property with name=value, e.g. -Pendpoint=Value1 -PsomeOtherProperty=value2 • s : The TestSuite to run, used to narrow down the tests to run 43
  • 44. SoapUI logs • By default in ..SoapUI-5.4.0bin • soapui-log4j.xml • soapui.log • soapui-errors.log • global-groovy.log 44
  • 45. Authorization • Steps to run Twitter API with SoapUI: http://acodediary.com/twitter-api-with-soapui/ 45
  • 49. Integration with Maven (project structure) • To execute project run command: mvn integration-test 49
  • 50. Integration with Maven (project structure) 50
  • 51. Integration with Maven (execution result) 51
  • 52. Integration with Maven (pom.xml) 52
  • 53. Integration with Maven (pom.xml) 53
  • 54. Integration with Maven (extensions) • Put additional jars into ext folder • Or add new module to the project 54
  • 55. Listeners • Create my-listeners.xml file in SoapUI-5.2.1binlisteners • Create MyListener.java, compile it in jar file and put in SoapUI-5.2.1binext • Create a directory build • Run java compilation from the command line: • javac -cp soapui-5.2.1.jar com/dataart/api/listeners/MyListener.java -d ./build • Go to the build folder (cd build) and create a jar • jar cvf YourJar.jar * 55
  • 58. More details • Rupert Anderson SoapUI Cookbook • Charitha Kankanamge Web Services Testing with soapUI 58
  • 59. More details • JSONPath - XPath for JSON: http://goessner.net/articles/JsonPath/ • Running Functional Tests (TestRunner): https://www.soapui.org/test-automation/running-functional- tests.html • SoapUI source code: https://github.com/SmartBear/soapui • SoapUI and Maven: https://www.soapui.org/test-automation/maven/maven-2-x.html • Source code in SoapUI maven: http://stackoverflow.com/questions/30320647/source-code-in- soapui-maven • Extending soapU: https://www.soapui.org/extension-plugins/old-style-extensions/developing-old- style-extensions.html • SoapUI JavaDoc: https://www.soapui.org/apidocs/allclasses-noframe.html 59
  • 60. More details • Custom report: https://github.com/a-oleynik/SoapUI/blob/master/CustomReport.groovy • Maven project with SoapUI example: https://github.com/a-oleynik/SoapUI/tree/master/api-test • Listener code example: https://github.com/a-oleynik/SoapUI/tree/master/Listener 60
  • 61. Possible task • Create custom report into an xml file. • Create a Data Driven test and read data from excel file. • Create a Maven project for your SoapUI project. Set the project up and execute it from the command line. 61