This document provides an introduction to SOAPUI, including how to add and configure different types of assertions for validating responses, using Groovy scripts to write test logic and verify results, and techniques for organizing projects using workspaces and environments. It covers topics like XPath functions, SOAPUI object models, refactoring WSDLs, and testing web services with attachments.
A method of communicating between two devices
A software function provided at a network address over the web with the service always on
It has an interface described in a machine-processable format
http://www.qualitestgroup.com/
A method of communicating between two devices
A software function provided at a network address over the web with the service always on
It has an interface described in a machine-processable format
http://www.qualitestgroup.com/
What are web services?
Component of web services
Architecture
Operations in web service architecture
Diagram of web service architecture
Types of web services
What is SoapUI
SoapUI test structure
A method of communicating between two devices
A software function provided at a network address over the web with the service always on
It has an interface described in a machine-processable format
http://www.qualitestgroup.com/
A method of communicating between two devices
A software function provided at a network address over the web with the service always on
It has an interface described in a machine-processable format
http://www.qualitestgroup.com/
A method of communicating between two devices
A software function provided at a network address over the web with the service always on
It has an interface described in a machine-processable format
http://www.qualitestgroup.com/
What are web services?
Component of web services
Architecture
Operations in web service architecture
Diagram of web service architecture
Types of web services
What is SoapUI
SoapUI test structure
A method of communicating between two devices
A software function provided at a network address over the web with the service always on
It has an interface described in a machine-processable format
http://www.qualitestgroup.com/
I needed a quick alternative solution to Soap UI Pro as Pro version was little costly for a small project. I had no time to start a scripting tool to do the same. OATS (Oracle Application Testing Suite) came to my rescue. OATS is a complete, integrated testing solution for Web applications, Web Services, packaged Oracle Applications and Oracle Databases.
Oracle application testing suite Online Training is Offering at Glory IT Technologies. We have Certified Working Professionals on this Modules. They trained so many Global Students, We also Provides Corporate Training & Job/Project Support Services to Oracle application testing suite. We are Only Institute Delivering Best Online Training Services to this Module.
After passing all functional tests, many web applications fail under the regular load conditions. Just 100 active users may be sufficient to cause severe errors and a decline in performance. In this session, load testing of ADF applications with the Oracle Application Testing Suite and Apache JMeter will be discussed and demonstrated. With these tools, you have an analysis-instrument to do performance analysis and regression analysis after new patches/releases. A proper managed load test also gives insight in the effects configuration parameters. The speaker will share best test practices to perform load tests and offer typical solutions for creating an efficient, scalable ADF application.
Oracle's Application Testing Suite is an integrated, full lifecycle solution that enables customers to define and manage their application testing process, validate application functionality, and ensure that their applications will perform under load.
With Application Testing Suite, customers can deploy Web applications and Web Services in less time while maximizing the efficiency of testing team. For Oracle packaged applications, Accelerators are available to provide an out-of-box testing solution designed specifically for E-Business Suite and Siebel applications.
Salesforce provides an interface for testing callouts named HttpCalloutMock used to cover remote callouts. While adequate for simple callouts, in the real world you often need something more flexible, as in the case of multiple and varying responses from the same or varying endpoints. More precise testing and coverage can be obtained by extending the standard interface. Join us as we demonstrate a solution to use to enable the flexibility required for complex integration and synchronization apps.
Gear4music has become one of the largest retailers of musical instruments and equipment in the United Kingdom. I joined the business back in October 2018 as they required a tester with API testing experience for upcoming projects. In this talk, I'll be covering how we went from 0 to 1000+ API tests and how Postman has helped throughout the project's life cycle.I'll also be talking about how I've evolved throughout the years as a Postman user and I'll cover things I wish I knew when I first started.
Pruebas de Servicios Web, ¿Codificar o No Codificar?Software Guru
Los Servicios Web son el mecanismo o el medio de comunicación a través del cual las aplicaciones y máquinas, intercambian los datos independientemente de su arquitectura y la tecnología. Los Servicios Web se pueden implementar de diferentes maneras, pero los dos siguientes son los enfoques de implementación más populares: SOAP (Simple Object Access Protocol) y REST (Representational State Transfer architecture).
Para probar los Servicios Web se puede crear tu propio código o utilizar una herramienta de automatización de pruebas de Servicios Web, en el presente trabajo se muestra cómo realizar pruebas de los servicios creando tu propio código utilizando Axis2API para Java y usando una herramienta cómo lo es SoapUI, demostrando que las herramientas de Automatización como SoapUI ayudan a reducir los esfuerzos de prueba, ya que se requiere un esfuerzo de codificación menor en comparación con la creación de su propio código usando Axis2API
I needed a quick alternative solution to Soap UI Pro as Pro version was little costly for a small project. I had no time to start a scripting tool to do the same. OATS (Oracle Application Testing Suite) came to my rescue. OATS is a complete, integrated testing solution for Web applications, Web Services, packaged Oracle Applications and Oracle Databases.
Oracle application testing suite Online Training is Offering at Glory IT Technologies. We have Certified Working Professionals on this Modules. They trained so many Global Students, We also Provides Corporate Training & Job/Project Support Services to Oracle application testing suite. We are Only Institute Delivering Best Online Training Services to this Module.
After passing all functional tests, many web applications fail under the regular load conditions. Just 100 active users may be sufficient to cause severe errors and a decline in performance. In this session, load testing of ADF applications with the Oracle Application Testing Suite and Apache JMeter will be discussed and demonstrated. With these tools, you have an analysis-instrument to do performance analysis and regression analysis after new patches/releases. A proper managed load test also gives insight in the effects configuration parameters. The speaker will share best test practices to perform load tests and offer typical solutions for creating an efficient, scalable ADF application.
Oracle's Application Testing Suite is an integrated, full lifecycle solution that enables customers to define and manage their application testing process, validate application functionality, and ensure that their applications will perform under load.
With Application Testing Suite, customers can deploy Web applications and Web Services in less time while maximizing the efficiency of testing team. For Oracle packaged applications, Accelerators are available to provide an out-of-box testing solution designed specifically for E-Business Suite and Siebel applications.
Salesforce provides an interface for testing callouts named HttpCalloutMock used to cover remote callouts. While adequate for simple callouts, in the real world you often need something more flexible, as in the case of multiple and varying responses from the same or varying endpoints. More precise testing and coverage can be obtained by extending the standard interface. Join us as we demonstrate a solution to use to enable the flexibility required for complex integration and synchronization apps.
Gear4music has become one of the largest retailers of musical instruments and equipment in the United Kingdom. I joined the business back in October 2018 as they required a tester with API testing experience for upcoming projects. In this talk, I'll be covering how we went from 0 to 1000+ API tests and how Postman has helped throughout the project's life cycle.I'll also be talking about how I've evolved throughout the years as a Postman user and I'll cover things I wish I knew when I first started.
Pruebas de Servicios Web, ¿Codificar o No Codificar?Software Guru
Los Servicios Web son el mecanismo o el medio de comunicación a través del cual las aplicaciones y máquinas, intercambian los datos independientemente de su arquitectura y la tecnología. Los Servicios Web se pueden implementar de diferentes maneras, pero los dos siguientes son los enfoques de implementación más populares: SOAP (Simple Object Access Protocol) y REST (Representational State Transfer architecture).
Para probar los Servicios Web se puede crear tu propio código o utilizar una herramienta de automatización de pruebas de Servicios Web, en el presente trabajo se muestra cómo realizar pruebas de los servicios creando tu propio código utilizando Axis2API para Java y usando una herramienta cómo lo es SoapUI, demostrando que las herramientas de Automatización como SoapUI ayudan a reducir los esfuerzos de prueba, ya que se requiere un esfuerzo de codificación menor en comparación con la creación de su propio código usando Axis2API
A method of communicating between two devices
A software function provided at a network address over the web with the service always on
It has an interface described in a machine-processable format
http://www.qualitestgroup.com/
Testing web services is very important part of integration testing on web projects.
In this presentation you can learn the best approaches, tools and features of Web Services testing. Soon I'll share url with a video from my presentation.
QuerySurge, the smart data testing solution, QuerySurge, the smart data testing solution that automates data validation & testing of critical data, released the first-of-its-kind full DevOps solution for continuous data testing. The latest release, QuerySurge-for-DevOps, enables users to drive changes to their test components programmatically while interfacing with virtually all DevOps solutions in the marketplace. See how to implement a DevOps-for-Data solution in your delivery pipeline and improve your data quality at speed!
Testers will now have the capability to dynamically generate, execute, and update tests and data stores utilizing API calls. QuerySurge for DevOps has 60+ API calls with almost 100 different properties. This will enable a higher percentage of automation in your current data testing practice and a more robust DevOps for Data, or DataOps pipeline.
API Features Include:
- Create and modify source and target test queries
- Create and modify connections to data stores
- Create and modify the tests associated with an execution suite
- Create and modify new staging tables from various data connections
- Create custom flow controls based on run results
- Integration with virtually all build solutions in the market
QuerySurge for DevOps integrates with:
- Continuous integration/ETL solutions
- Automated build/release/deployment solutions
- Operations and DevOps monitoring solutions
- Test management/issue tracking solutions
- Scheduling and workload automation solutions
For more information on QuerySurge for DevOps, visit:
https://www.querysurge.com/solutions/querysurge-for-devops
Creating Modular Test-Driven SPAs with Spring and AngularJSGunnar Hillert
Single-page Applications (SPA) are all the rage these days and with them there is an avalanche of new tools, libraries and frameworks we need to know. But what does this mean for us as Spring developers? In this session we will give you an overview of the current landscape and illustrate the choices the Spring XD team has made for its user interface. What do I use to write SPA applications? How do I integrate them into existing Spring-based backends? How do I build them? Can I integrate them into my existing Gradle or Maven build processes in order to achieve complete build automation? How do I integrate realtime messaging using Spring's SockJS/WebSocket support? In this talk we will answer these and many more questions. We will cover frameworks such as AngularJS, Bootstrap, RequireJS; tools like Bower, Grunt, Gulp; and also talk about testing using Karma and Protractor.
Abstract 2: "Advanced testing in action on a Java project"
In 2019 we're all used to writing automated tests in Java projects. It's now time to move up the chain and learn how to implement more complex type of testing.
This talk will demonstrate advanced testing practices used by the XWiki open source project (http://xwiki.org), and using Java, Maven, Docker and Jenkins and more:
* Testing for backward compatibility with Revapi and an associated strategy
* Testing for coverage with Jacoco and defining a viable strategy for slowing improving the situation
* Testing the quality of your tests with Descartes Mutation testing
* Automatically enriching your test suite with DSpot
* Testing various configurations with Docker containers and Jenkins
Node object and roles - Fundamentals Webinar Series Part 3Chef
Part 3 of a 6 part series introducing you to the fundamentals of Chef.
This session includes:
* Node object
* Chef roles
After viewing this webinar you will be able to:
- Explain what the node object represents in Chef
- Show details about a node
- Describe what node attributes are
- Retrieve a node attribute
- Describe where and how attributes are set
- Explain the attribute merge order and precedence rules
- Declare an attribute with a recipe and set its value
- Explain what Roles are, and how they are used to provide -larity
- Discuss the Role JSON DSL
- Explain how merge order affects the precedence hierarchy
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=nQogf89hgnM&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
These are the slides presented at StarWest 2015 in Anaheim, CA. The slides are showcasing all of the advanced usages of selenium or add ons to improve your selenium test cases
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAppDynamics
A cornerstone of the DevOps philosophy, investment in automation at all stages across the SDLC has increased over recent years. Automation promises velocity and reduced errors, helps foster repeatable processes, and removes the need for long hours on dull, repetitive tasks. So what’s not to like? The downside of automation is that unless applied at the right place in your SDLC it can make a bad process worse. Automation also raises questions around job security, the need for re-skilling in other areas, and tool sprawl if different teams each choose their preferred technology. This session will outline:
-A short chronology of where automation has impacted the modern software stack
-Where it makes the most sense to automate (by identifying your key constraints)
-Best practices for adopting automation and how to identify where it’s working — and where it isn’t
For more information, visit: www.appdynamics.com
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGroup
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly gives an overview of the strengths and weaknesses of DevOps automation, tips on developing your automation strategy, and a high level overview of automation options across the DevOps toolchain.
Presentation that I gave to the Groovy Users of Minnesota group on May 11, 2010. Using Cucumber, cuke4duke, and Groovy together for acceptance test-driven development.
Symbiosis of test automation tools. Several tools (graphwalker/selenide/allure/sikuli/browsermob proxy) overview and practical appliance in your Selenium automation project will be presented
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum
In this talk, we’ll show you our development process at Infinum. We'll talk about Continuous integration, MVP, Git flow, static code analysis, Unit tests, multi-environment support and a few more.
10 must do’s for perfect customer experience (Cx) -QualitestQualitest
In an economy where apps have become the very heart and soul of almost any customer centric business, we will not have more than one attempt to ensure the quality of your customer’s digital experience and set a desired customer loyalty.
If we want to the main activities to achieve the above, you might want to look at the below distilled list of must do’s.
Don’t Let Missed Bugs Cause Mayhem in your Organization!Qualitest
How did I miss that bug? As a tester, how many times have you asked yourself, or has your test lead or test manager asked you, that question? How many bugs have you missed that were clearly easy to spot? Find out!
To learn more visit www.QualiTestGroup.com
Sometimes the most well-trodden paths are ruts, where the decision to not make waves or see an alternative can be destructive. Today, we look at the specific dangers from this groupthink phenomena.
-by Gerie Owen
Visit www.QualiTestGroup.com to learn more.
Designing for the internet - Page Objects for the Real WorldQualitest
We explored Page Object design pattern to some of the more common, and sometimes frustrating, object configurations found on the internet. Learn how proper application of this pattern enables you to leverage Selenium’s power to produce concise, readable, and maintainable automated tests. We tackled challenging DOM configurations such as
Messy tables
Frames
Random identifiers
Third part frameworks like JQuery and Moment
HTML5 video players
and more with Java and Selenium 3. Learn how solving these tricky problems with the correct techniques leads to more robust tests while saving scripting time!
For more information, please visit www.QualiTestGroup.com
DevSecOps - It can change your life (cycle)Qualitest
QualiTest explains how a secured DevOps (DevSecOps) delivery process can be achieved using automated code scan, enabling significant shift left of issues detection and minimizing the time to fix. Whether you are considering DevSecOps, on the path, or already there, this slide is for you.
For more information, please visit www.QualiTestGroup.com
IoT’s potential impact by 2020 reportedly represents $3.6T and 25B devices. QualiTest and IBM joined for a webinar where we created a simulated device, developed an IoT solution using IBM’s Bluemix, navigated IBM Watson’s IoT platform, and explored IoT’s testing challenges and their solutions.
Visit www.QualiTestGroup.com
Webinar: How to get localization and testing for medical devices done right Qualitest
Medical Device localization depends on complex testing and translation services. Manufacturers in the MDD field prefer to concentrate on their core competencies, and look to outside specialists who provide specialized services to their industry. QualiTest’s expertise in medical and healthcare systems along with Net-Translator’s core strengths in multilingual testing services and translation, make it smooth and seamless for companies to concentrate on developing while experts localize and test their products.
In this webinar, we discuss the challenges faced when working with localized medical products, some lessons learned and how our solutions will provide inline accelerators to enable you to deliver quality software and products.
For more information, please visit www.QualiTestGroup.com
Business demands quicker and cleaner SDLC’s, best streamlined by DevOps. DevOps is changing the face of QA, and QA empowers DevOps. Join QualiTest and Zeenyx for a webinar that will address these changes and present a path for testing success as part of a DevOps program.
Find out more by visiting www.QualiTestGroup.com
Testing for a Great App and Web Experience | QualiTest GroupQualitest
While Functionality, Security and Performance Testing are important elements to ensure web and mobile quality, another key element is User Experience Testing. An app must solve a problem for the user easily, and positive user experience and accessibility distinguish an outstanding app from a good one.
But how do you guarantee a great user experience? QualiTest and the Racing Post to addressed User Focused Testing best practices in the web and mobile domains. Discover how Ux Testing and Crowd Testing helped the Racing Post improve their digital experience, and learn how to leverage Managed Crowd Testing to guarantee predictable Ux, mitigate device fragmentation and achieve app quality through Ux Feedback.
Visit www.QualiTestGroup.com for more information.
DevOps is a practice that emphasizes the collaboration and communication of both software developers and other IT professionals while automating the process of software delivery and infrastructure changes.
Understand Agile and how software is developed in such an environment but also why there was a need for the DevOps movement and how DevOps is achieved.
Furthermore: find out What DevOps means for QualiTest and how we leverage it into daily practice.
QualiTest is the world’s second largest pure play software testing and QA company. Testing and QA is all that we do! visit us at: www.QualiTestGroup.com
Killing the Myths of Outsourced Software TestingQualitest
There are many software testing engagement models that can be utilized.Outsourcing of software testing services is witnessing double digit growth rate. So is this trend towards outsourcing software testing the right solution for you? Here are some key factors that may help you to figure that out!
QualiTest is the world’s second largest pure play software testing and QA company. Testing and QA is all that we do! visit us at: www.QualiTestGroup.com
A Scrum Master is responsible for making sure that the team (including the Product Owner) follow the principles and processes of Scrum. Learn more about the role of the Scrum Master and if and why we need them?
QualiTest is the world’s second largest pure play software testing and QA company. Testing and QA is all that we do! visit us at: www.QualiTestGroup.com
How to Test Big Data Systems | QualiTest GroupQualitest
Big Data is perceived as a huge amount of data and information but it is a lot more than this. Big Data may be said to be a whole set of approach, tools and methods of processing large volumes of unstructured as well as structured data. The three parameters on which Big Data is defined i.e. Volume, Variety and Velocity describes how you have to process an enormous amount of data in different formats at different rates.
QualiTest is the world’s second largest pure play software testing and QA company. Testing and QA is all that we do! visit us at: www.QualiTestGroup.com
The changing role of a QA | QualiTest GroupQualitest
QualiTest considers the traditional role of Manual QA in the ever developing world of Software Testing. How will the changing role of developers affect manual QA? Let's think about that for a moment.
QualiTest is the world’s second largest pure play software testing and QA company. Testing and QA is all that we do! visit us at: www.QualiTestGroup.com
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
5. Adding Assertions
• CONTAINS/NOT CONTAINS
• SOAP/Non SOAP Reqest
• SOAP fault/non-SOAP fault
• Response SLA
• Xpath/Xquery match
• Script
• Security status
• JMS status and timeouts
5
6. CONTAINS/Not CONTAINS
• Contains checks for the existence of some
text in the received response or request
message
• Not Contains - Searches for the non-existence
of a string token in the property value,
supports regular expressions. Applicable to
any property.
6
32. Let’s Get Groovy
• Groovy Programming Language
• Exercise – writing groovy scripts
• Refactoring
• Exercise – refactoring wsdl
• Web Services with attachments
• Exercise – configure and test web service with attachment
33. Groovy Programming Language
• Language Overview
• Flow control
• SoapUI object model
• Dynamic test management
• Writing logic to verify scripts
34. Language Overview
• Groovy is the scripting language used in
SoapUI for controlling tests
• Groovy is also a programming language that
can run stand-alone in a java environment
– Contains some data structures similar to java
• Lists (like java arrays)
• Maps
34
36. Groovy Script Usage
• Groovy Script TestStep in a TestCase
• Before and after running a TestCase or
TestSuite to initialize or cleanup
• Starting/Stopping MockService
• Initialize/Cleanup Project level
• Dynamic DataSource or DataSync
• Creating dynamic MockResponse content
• Adding Script Assertions
36
42. Get & Set Settings
• import com.eviware.soapui.settings.SSLSettings
• import com.eviware.soapui.SoapUI
• // set SoapUI.settings.setString( SSLSettings.KEYSTORE, pathToKeystore )
SoapUI.settings.setString( SSLSettings.KEYSTORE_PASSWORD,
keystorePassword )
• // get SoapUI.settings.getString( SSLSettings.KEYSTORE, "value to return if
there is no such setting set" )
42
43. Useful info
• Access project name
• testRunner.testCase.testSuite.project.name
• Access test step name
• context.getCurrentStep().getLabel()
43
47. Groovy Step
You can add a Groovy step by right clicking on a test
step and selecting “Insert Step” followed by “Groovy
Script” or by opening the TestCase and clicking on the
star icon.
47
48. Incrementing a Property
Here’s how to increment a property called PatentNum.
• Get the TestCase Property (as a “BigDecimal”)
• Increment the value
• Set the value back into the property
def old = context.testCase.getPropertyValue(“PatentNum") as BigDecimal;
def new = (old+ 1) as String;
context.testCase.setPropertyValue( “PatentNum", new );
Notice how the setPropertyValue differs from the
getPropertyValue
48
49. Groovy Exercise
In this exercise we will:
• Set up a Test Case property
• Read a number in from a text file
• Transfer the number to a property
• Execute a request using the property
• Increment the property
• Store the property back to the text file
49
66. Import Projects
• Import projects into the Workspace
• Easily Switch between
workspaces
66
67. Workspaces
• Can only have one workspace open at a time
• Same project can be in two workspaces
• Can have multiple projects loaded into
workspace
• Can’t have separate projects and workspaces
loaded at the same time
67
68. Environments
• Another way to help manage your projects is
to set up environments on the Project level
68
70. Import Projects
• Import projects into the Workspace
• Easily Switch between
workspaces
70
71. Workspaces
• Can only have one workspace open at a time
• Same project can be in two workspaces
• Can have multiple projects loaded into
workspace
• Can’t have separate projects and workspaces
loaded at the same time
71
72. Environments
• Another way to help manage your projects is
to set up environments on the Project level
72
Contains - Searches for the existence of a string token in the property value, supports regular expressions. Applicable for any property.
Message Content Assertion - Allows for complex content validation of XML messages. Applicable to any property containing XML.
Not Contains - Searches for the non-existence of a string token in the property value, supports regular expressions. Applicable to any property.
Right click on the field that you want to verify, the click Add Assertion and select the type of assertion – in this case for Content
Automatically selects the Xpath for the field and selects the current value
Sometimes, we don’t care what is actually returned, we just want to make sure that a particular element is returned. Select any element and right-click to add assertion then select for existence.
Dialog box is prepopulated with the Xpath and the exists and the value of true – click ok and the assertion is added.
To verify that a soap (or non soap response) was returned, select the item from the list and click Add. No further configuration is needed.
To add assertion for soap fault or non-soap fault just select from the list and click Add, no further configuration is needed.
Some requests are time sensitive and must be processed within a certain amount of time, else they should be ignored – getting a stock price within 10 seconds is one of these, changing a password is another example- if it can’t be changed within 30 seconds, then it should be ignored. To add an assertion for response time, select SLA and click Add. Then enter the SLA time
For the Xpath or Xquery assertion, select the property content and then pick Xquery- Xpath is used to identify a specific node or element in the XML whereas Xquery is more list sql for XML stuctures
Click on the declare button will provide all of the namespace information, then just type in the path to the element. Then click on the select from current button it the expected result will be populated from the current response
Assertions can also be added with a groovy script. This example is for existence of the field and the script is auto generated – we will be covering scripts in more detail later
Security is another category of assertions that can be used to make sure that the message received doesn’t contain any sensitive information
There could be lots of sensitive information being passed in the web service requests – anything from tokens, to passwords, to personally identifiable information should be verified
-There are several predefined tokens in the preferences (under Global Sensitive Information Tokens) – these and others can be used in your assertion
If WS security is being used for passing messages, then you may want to add in assertions for verifying that the messages contain valid ws-addressing and security headers
These assertions were added in the individual test step, so they are part of the test step – if we wanted to create a set of assertions that were reusable then we need to add an assertion test step
If we create an assertion test step, then we first need to pick the source (which in this case is the first test step)
In the Assertion TestStep window,
select two or more assertions by holding the CTRL key and clicking all desired assertions to be grouped together. They can then either be grouped by an AND or an OR. If AND Is picked, then all of the assertions have to return valid in order for the test step to pass; if OR is picked, then if at least one of the assertions returns as valid, then the test step will be valid
In the attachment tab of the request, we can add in the attachment file and then submit the request – the actual attachment goes over as binary
Even though this is a rest service, there are attachments that contact information on the image as well as the pdf it self. You click on the + button and navigate to the attachment – once selected it will fill in the information.
The Run TestCase TestStep presents a flexible approach to modularization; it executes the configured target TestCase optionally passing and retrieving properties before and after execution, for example you could use this to call a complex sequence of TestSteps to perform and validate a login procedure, passing the required credentials and receiving the resulting sessionid. The top two options are for selecting the actual target TestCase, the remaining options are related to property/session management and threaded execution. This is like if we had called the Login TestCase as if it were a method taking input arguments and returning the response
SoapUI Pro adds the possibility to have a central library of Groovy Classes that can be accessed from any script within SoapUI, which can be useful for centralizing common tasks and functionality and for creating SoapUI extensions
On the project level you can find the tabs at the bottom to access the setup and tear down scripts
On the Test Suite level, you can also find tabs for setup and tear down scripts
And also at the Test Case level there are tabs to access the scripts for setup and teardown
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def projectPath = groovyUtils.projectPath def folderName = projectPath + "/testData"
def row = testRunner.testCase.testSteps["DataSource"].currentRow
def allFiles = [] new File( folderName ).eachFile() { file -> if( file.name =~ /.txt/ ) { allFiles.add( file.name ) } } if ( (row + 1) <= allFiles.size ) { // output to the TestStep property called inputData result["inputData"] = new File( folderName + "/" + allFiles[row] ).text }
// Write the response from the "Test Request: login" TestStep to a file def currentUser = context.expand( '${#TestCase#currentUser}' ) def response = context.expand( '${Test Request: login#Response}' ) new File( "C:/Users/eviware/" + currentUser + "_response.txt" ).write( response ) // To use another charset than the default, do this instead: // new File( "C:/Users/eviware/" + currentUser + "_response.txt" ).write( response, "UTF-8" )
To save the result (request data, response data, response time, etc.) of every executed TestStep in a Project, create a Project EventHandler (Project Window > Events tab > Add new EventHandler) of typeTestRunListener.afterStep with the code above. The 2nd code snippet is to log the messages from all failed test cases
Groovy assumes the property is a string at first. The “+ 1” operation appends that onto the end of the string instead of incrementing the numeric value. By adding “as BigDecimal” to the end of the line to get the value, the string is converted to a number.
After we increment the numeric value, then we can cast it back to a string.
Note however this will only return the data from one node – we want all the nodes
When updating a WSDL, the underlying contract changes may require changes to all messages related to a certain modification, for example if an element has been renamed or moved. Also, XPath expressions in assertions, property transfers and expansions, etc. may need to be updated to correctly reference updated elements. Right-click on the wsdl definition and select refactor definition. Always, always create a back up before you overwrite everything
Click next after mapping all of the nodes and then review and accept any changes to the XPath
all visible projects are part of the current workspace. You can add as many projects as you want to a workspace, but can also easily switch between different workspaces allowing you to have different testing setups (for different systems, clients, etc), It can also help manage different releases for the same project. Select File > New Workspace and then enter a name
Right click on the workspace and select import projects to attach specific projects to a workspace. To switch between workspace, select File > Switch workspace
all visible projects are part of the current workspace. You can add as many projects as you want to a workspace, but can also easily switch between different workspaces allowing you to have different testing setups (for different systems, clients, etc), It can also help manage different releases for the same project. Select File > New Workspace and then enter a name
Right click on the workspace and select import projects to attach specific projects to a workspace. To switch between workspace, select File > Switch workspace
Provide a name for each environment and copy endpoints (if you want- you can always edit them later)
The tabs below the Environment names allow you to change them as needed for each environment. Now the environment is available as a drop down on the test suite, test case editors