This document provides an overview of API testing and web services protocols. It discusses XML, SOAP, REST, and introduces the tool SoapUI for testing web services. Key points include:
1. XML is used to transport and store data on the web. It has elements, attributes, and syntax rules. XML Namespaces avoid element name conflicts.
2. SOAP is a protocol for accessing web services. It uses XML, includes envelope, header and body elements. WSDL describes SOAP web services operations.
3. REST services use HTTP to manipulate resources via operations like GET, PUT, POST and DELETE. It can output JSON, XML and is language/platform independent.
4.
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/
The Query Service is the new platform solution for querying a variety of data sources. The goal of Query Service is that administrators can configure a metadata description of the data source that can then be used by end users without detailed knowledge of the underlying data source. This session explains how to configure Query Service data sources and use them with the RESTful API or component collection.
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/
The Query Service is the new platform solution for querying a variety of data sources. The goal of Query Service is that administrators can configure a metadata description of the data source that can then be used by end users without detailed knowledge of the underlying data source. This session explains how to configure Query Service data sources and use them with the RESTful API or component collection.
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/
All we know that REST services are almost everywhere now and nearly all new projects use it.
But do we really know how to design proper interfaces? What are pitfalls and how to avoid them?
I did many REST service designs and have a bunch of tips and tricks you definitely would like to use.
It will save you and your team a lot of time in future.
A Java servlet is a Java program that extends the capabilities of a server. Although servlets can respond to any types of requests, they most commonly implement applications hosted on Web servers. Such Web servlets are the Java counterpart to other dynamic Web content technologies such as PHP and ASP.NET.
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol AuthorsBIOVIA
Pipeline Pilot has always had a strong focus on integration to external resources. In AEP 9.0 we continue this tradition with a major overhaul of our SOAP Connector component as well as improved support for RESTful services. In this talk we will look at how to build protocols that access SOAP services especially secured services and review the approach to accessing RESTful services.
(ATS6-PLAT02) Accelrys Catalog and Protocol ValidationBIOVIA
Accelrys Catalog is a powerful new technology for creating an index of the protocols and components within your organization. You will learn about strategies for indexing and how search capabilities can be deployed to professional client and Web Port end users. You will also learn how to use this technology to find out about system usage to aid with system upgrades, server consolidations, and general system maintenance. The protocol validation capability in the admin portal allows administrators to created standard reports on server usage characteristics. You will learn how to report on violations of IT policies (e.g. around security), bad protocol authoring practices, or missing or incomplete protocol documentation. Developers will also learn how to extend and customize the rules used to create these reports.
What’s all the buzz about REST APIs, and why should you care? REST APIs are growing quickly, with enterprise and finance the fastest growing categories. REST APIs also enable apps for mobile, wearables, and Internet of Things. If you don’t yet have a content strategy for REST APIs, you may need it soon.
The job market for REST APIs is hot, and you can increase your marketability and value by understanding REST API content. Be prepared by getting a head-start on what you need to know!
This presentation was given at Information Development World on October 1, 2015.
Adding Support for Networking and Web Technologies to an Embedded SystemJohn Efstathiades
These are the slides for a presentation we gave at Device Developer Conference 2014 in the UK. The presentation discusses the work done, experiences, and lessons learnt from adding an open source TCP/IP network stack and web server to an existing industrial control system running on an ARM Cortex M3-based processor from TI.
The presentation covers the following:
· Integrating the network stack into the existing software base
· Configuring and using the network stack and web server
· Adding support for HTTP basic authentication to restrict user access
· Using HTTP to remotely access the target system and retrieve operational data
· Debugging hints and tips
· Pitfalls to avoid and other lessons learnt
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward
Operationalizing Machine Learning models is never easy. Our team at Comcast has been challenged with operationalizing predictive ML models to improve customer care experiences. Using Apache Flink we have been able to apply real-time streaming to all aspects of the Machine Learning lifecycle. This includes data feature exploration and preparation by data scientists, deploying live models to serve near-real-time predictions, and validating results for model retraining and iteration. We will share best practices and lessons learned from Flink’s role in our operationalized lifecycle including:
• Executing as the “Prediction Pipeline” – a model container environment for near-real-time streaming and batch predictions
• Preparing streaming features and data sets for model training, as input for production model predictions, and for a continually-updated customer context
• Using connected streams and savepoints for “Live in the Dark”, multi-variant testing, and validation scenarios
• Incorporating Flink’s Queryable State as an approach to the online “Feature Store” – a data catalog for reuse by multiple models and use cases
• Enabling versioned models, versioned feature sets, and versioned data through DevOps approaches.
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...HostedbyConfluent
Does your organization struggle with updating of its Kafka Streams application? Releasing a new version of a Kafka Streams application can be challenging, especially if its state has to be preserved between releases. Consider these best-practices and architectural ideas to make this process smoother and improve your release process.
Having experienced accidental removal of change-log topics and needing to expand partitions, it is much easier to handle with some planning. With the proper planning, you can achieve easier application upgrades.
Key take-aways from the session include:
* How do minimize the rebuilding of the state-stores.
* How to change stream topologies without affecting the existing state stores.
* What you can do when you absolutely need to increase the number of partitions within your application.
* How to leveraging schemas for application releases.
* Measures to prevent data corruption, especially if Kafka is not only your system of record but also your source of truth.
* Techniques to support rolling back an application.
* The advantages of splitting apart a Kafka Streams application into multiple applications.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
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/
All we know that REST services are almost everywhere now and nearly all new projects use it.
But do we really know how to design proper interfaces? What are pitfalls and how to avoid them?
I did many REST service designs and have a bunch of tips and tricks you definitely would like to use.
It will save you and your team a lot of time in future.
A Java servlet is a Java program that extends the capabilities of a server. Although servlets can respond to any types of requests, they most commonly implement applications hosted on Web servers. Such Web servlets are the Java counterpart to other dynamic Web content technologies such as PHP and ASP.NET.
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol AuthorsBIOVIA
Pipeline Pilot has always had a strong focus on integration to external resources. In AEP 9.0 we continue this tradition with a major overhaul of our SOAP Connector component as well as improved support for RESTful services. In this talk we will look at how to build protocols that access SOAP services especially secured services and review the approach to accessing RESTful services.
(ATS6-PLAT02) Accelrys Catalog and Protocol ValidationBIOVIA
Accelrys Catalog is a powerful new technology for creating an index of the protocols and components within your organization. You will learn about strategies for indexing and how search capabilities can be deployed to professional client and Web Port end users. You will also learn how to use this technology to find out about system usage to aid with system upgrades, server consolidations, and general system maintenance. The protocol validation capability in the admin portal allows administrators to created standard reports on server usage characteristics. You will learn how to report on violations of IT policies (e.g. around security), bad protocol authoring practices, or missing or incomplete protocol documentation. Developers will also learn how to extend and customize the rules used to create these reports.
What’s all the buzz about REST APIs, and why should you care? REST APIs are growing quickly, with enterprise and finance the fastest growing categories. REST APIs also enable apps for mobile, wearables, and Internet of Things. If you don’t yet have a content strategy for REST APIs, you may need it soon.
The job market for REST APIs is hot, and you can increase your marketability and value by understanding REST API content. Be prepared by getting a head-start on what you need to know!
This presentation was given at Information Development World on October 1, 2015.
Adding Support for Networking and Web Technologies to an Embedded SystemJohn Efstathiades
These are the slides for a presentation we gave at Device Developer Conference 2014 in the UK. The presentation discusses the work done, experiences, and lessons learnt from adding an open source TCP/IP network stack and web server to an existing industrial control system running on an ARM Cortex M3-based processor from TI.
The presentation covers the following:
· Integrating the network stack into the existing software base
· Configuring and using the network stack and web server
· Adding support for HTTP basic authentication to restrict user access
· Using HTTP to remotely access the target system and retrieve operational data
· Debugging hints and tips
· Pitfalls to avoid and other lessons learnt
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward
Operationalizing Machine Learning models is never easy. Our team at Comcast has been challenged with operationalizing predictive ML models to improve customer care experiences. Using Apache Flink we have been able to apply real-time streaming to all aspects of the Machine Learning lifecycle. This includes data feature exploration and preparation by data scientists, deploying live models to serve near-real-time predictions, and validating results for model retraining and iteration. We will share best practices and lessons learned from Flink’s role in our operationalized lifecycle including:
• Executing as the “Prediction Pipeline” – a model container environment for near-real-time streaming and batch predictions
• Preparing streaming features and data sets for model training, as input for production model predictions, and for a continually-updated customer context
• Using connected streams and savepoints for “Live in the Dark”, multi-variant testing, and validation scenarios
• Incorporating Flink’s Queryable State as an approach to the online “Feature Store” – a data catalog for reuse by multiple models and use cases
• Enabling versioned models, versioned feature sets, and versioned data through DevOps approaches.
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...HostedbyConfluent
Does your organization struggle with updating of its Kafka Streams application? Releasing a new version of a Kafka Streams application can be challenging, especially if its state has to be preserved between releases. Consider these best-practices and architectural ideas to make this process smoother and improve your release process.
Having experienced accidental removal of change-log topics and needing to expand partitions, it is much easier to handle with some planning. With the proper planning, you can achieve easier application upgrades.
Key take-aways from the session include:
* How do minimize the rebuilding of the state-stores.
* How to change stream topologies without affecting the existing state stores.
* What you can do when you absolutely need to increase the number of partitions within your application.
* How to leveraging schemas for application releases.
* Measures to prevent data corruption, especially if Kafka is not only your system of record but also your source of truth.
* Techniques to support rolling back an application.
* The advantages of splitting apart a Kafka Streams application into multiple applications.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Unit 8 - Information and Communication Technology (Paper I).pdf
API-Testing-SOAPUI-1.pptx
1. API Testing Class
Room-2
Get Software Services is inviting you to a scheduled Zoom meeting.
Join Zoom Meeting
https://zoom.us/j/8513760096?pwd=Qlh4OVRxaWhqbllLQk80RXE3ekdHdz09
Meeting ID: 851 376 0096
Passcode: getsoft
3. What are Web services
3
• A method of communicating between two
devices over a Network
• A software function provided at a network
address over the web with the service always
on
5. Protocols
5
• There are multiple protocols and transport
mechanisms for web services- this class will
focus on:
– SOAP
– REST
• Before looking at these web services, we need
a basic understanding of XML and XML
Namespaces
6. XML
6
• XML stands for eXtensible Markup Language
• XML is designed to transport and store data,
not to display data
• XML tags are not predefined
• XML is designed to be self-descriptive
• XML does not DO anything.
– It is just information wrapped in tags
– Need software to send, receive or display it.
9. XML Syntax Rules
9
• All XML Elements Must Have a Closing Tag
• <p>This is incorrect.
• <p>This is a correct.</p>
• <p></p> & <p /> are also correct
• XML Tags are Case Sensitive
• <Message>This is incorrect</message>
• <message>This is correct</message>
• XML Elements Must be Properly Nested
• <b><i>This is incorrect</b></i>
• <b><i>This is bold correct</i></b>
10. XML Rules (cont)
10
• XML Documents Must Have a Root Element
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
• Only the characters "<" and "&" are strictly
illegal in XML
• <!-- This is a comment -->
• White-space is Preserved in XML
11. Elements and Attributes
11
• Bookstore has an element book
• Book has an attribute – category and
elements: title, author, year, price
13. Why do we care ?
13
• Errors in XML documents will stop your XML
applications
• Many of the errors that we find in testing have
to do with
– Namespace issues
– Schema data types
– Case
– Order
– Whitespaces
14. XPath
14
• XPath (the XML Path language) is a language
for finding information in an XML document
• XPath is a syntax for defining parts of an XML
document
• XPath uses path expressions to navigate in
XML documents
• XPath contains a library of standard functions
15. XPath
15
• XPath (the XML Path language) is a language for finding information in an
XML document
• XPath is a syntax for defining parts of an XML document
• XPath uses path expressions to navigate in XML documents
• XPath contains a library of standard
1. Relative XPath - Partial
2. Absolute XPath - Full
21. SOAP Syntax Rules
21
• Must be encoded using XML
• Must use a SOAP envelope namespace
– xmlns:soap="http://www.w3.org/2001/12/soap-
envelope"
• Must not contain XML processing instructions
22. SOAP requests defined by WSDL
22
• WSDL stands for Web Services Description
Language
• WSDL is an XML-based language for describing
Web services.
• WSDL is written in XML
• WSDL is also used to locate Web services
27. REST
27
• REpresentational State Transfer (REST)
• Resources are manipulated using a fixed set of
four operations -create, read, update, delete :
PUT, PATCH ,GET, POST, and DELETE.
– POST creates or updates a new resource, which
can be then deleted by using DELETE.
– GET retrieves the current state of a resource
(read)
– PUT transfers a new state onto a resource
(update).
28. Using PUT & POST
28
• Either PUT or POST can be used to create a
new resource (depends on how your service is defined)
– For example creating a new chapter of MPEP
(Manual of Patent Examining Procedure)
– POST /manual/MPEP/current
– PUT /manual/MPEP/current/d0e55397.xml
• If you want to update an existing document on
the server, then use PUT
29. Examples
29
• URI: uniform resource identifiers (string of
characters to identify resource)
• Customer # 18 info:
– http://www.thomas-
bayer.com/sqlrest/CUSTOMER/18/
• List of invoices
– http://www.thomas-bayer.com/sqlrest/INVOICE/
• List of products
– http://www.thomas-bayer.com/sqlrest/PRODUCT/
31. REST > WADL
31
• Sometimes a REST service has documented
information in a WADL
• WADL = Web Application Description
Language
• XML/JSON in format
• Not Standardized
34. Differences
34
Attribute SOAP REST
Language/Platform Language, platform, and
transport independent
Only http
Environments Works well in distributed
enterprise environments
Requires point-to-point
communication
Standardization Standardized Has some standards
Error handling Built in error-handling None
Format Requires XML Efficient – can use any
format
Speed Slower Fast (no extensive
processing required)
35. SOAP & REST Responses
35
• REST doesn’t have to use XML to provide the
response. REST-based Web services can
output the data in
– Command Separated Value (CSV)
– JavaScript Object Notation (JSON) and
– Really Simple Syndication (RSS)
• Often when you find a REST service, one of
the inputs is the requested format
38. Introduction to SOAPUI
38
• Create projects
• Add WSDL from sample web service
• Setup up security settings
• Walk through structure of request and response.
• Discuss faults from failed structure vs data errors.
• Request structure
• Request-level properties
• Validating request inputs
• Creating multiple requests
• Response structure
• Working with endpoints
55. Endpoints
55
• An endpoint allows you to point to different
environments for testing
• Managing the endpoints can be difficult and
it’s very, very easy to test against the wrong
endpoint
– Manage endpoints within a project
– Manage by maintaining Multiple projects
– Use environments to manage endpoints
– Use workspaces to manage endpoints
59. A Word about Project Names
59
• Projects get sorted alphabetically
• You can name them anything you want
– Having a version or date included in the project
name can save you lots of time/frustration later
• By default, projects will be saved in My
Documents
• A saved project is an xml file with the format
of project name-soapui-project.xml
64. Exercise
64
• Create a new soap project and add this wsdl
http://www.webservicex.com/currencyconver
tor.asmx?WSDL
• From the form view, select different currency
types from the dropdown and submit the
request
• View the response in different formats
82. Building Test Cases
82
• Creating Test Suite, Test Cases & Test Steps
• Unit vs. Functional Tests
• Parameterization of Data (Text file, excel,
Database)
83. Hierarchy
83
• Test Suite
– Test Case
• Test Steps
– Soap request
– REST request
– HTTP request
– AMF request
– JDBC request
– Data source/Data Gen
– Manual test
– Mock Response
92. Adding New Test Steps
92
•Click on type
of request
• Or drag and drop
existing request
93. Parameterization of Data
93
• Input data to drive the tests can come from
– Text file
– Excel sheet
– Database
• Can also parameterize the expected outputs
94. DataSource test step
94
• DataSource – reads test data into properties
from some external source
• TestStep – uses the available properties
• DataSource Loop – calls the test step(s) for
each record of data
95. Let’s set up another Test Suite
New Test Suite with Test Case
95
117. Protocol Test Steps
1
1
• All of the requests within a Test Suite have to
come from the same project
• Requests from different protocols can be
loaded into the same project
122. Transfer to hand off session id
• This property transfer is set up to hand off the
sessionid from the login response to the logout
request
• •
1
2
123. Exercise
• It would be nice to have the application id from the
GetAllBibDataInfo request to pass on to the
GetApplicationInfo request so let’s add in the
application id as a transfer property and add it as
another test step in the test case between
GetAllBibDataInfo and GetApplicationInfo.
• Then add an assertion on the GetApplication info
request to make sure that it is also working correctly.
Since Patent Number is one of the fields in the
response for the GetApplicationInfo, add an
assertion that this matches the original Patent
Number input
10
125. Exercise – Delay Step
125
• Add in a Delay Step in the previous exercise
before the Property Transfer step – this will
allow time for the response from
GetAllBibDataInfo to be completed before
transferring the data to GetApplicantInfo is
executed.
127. Executing w/ a Manual Step
127
• If you have any
manual test steps in
your test case/test
suite, you will get a
dialog pop-up that
provides instructions
and requests
information before
moving on to the
next test step
128. Exercise – Manual Step
128
• Add a manual step in the previous exercise before
the DataSource Loop with the following actions and
expected outcome:
• Action: Get up from your chair and walk one time
clockwise around the conference table, returning to
your seat.
• Expected outcome: You feel refreshed and ready to
take on more challenging exercises.
• Run your test suite, recording the actual results and
Pass/Fail status for the manual step
132. Data Sink
132
• Allows you to parse values from your test and
write them to output file
• If you want to use some of the data in the
response of a request, start with a valid
executed response
139. Data Sink Exercise
139
• Using the currency conversion project and the
previous steps, add a Data Sink to capture the
actual results in your test suite
145. Mode & Shared
145
• Mode
– READ pulls a new value every time it is referenced
– STEP pulls a new value every time DataGen is
called
– Call DataGen prior to use as in the initial state, the
property has no value
• Shared
– For use in load tests – value can be shared across
multiple threads
146. Set up REST project
146
• Can create a REST project by
– Using URI
– Importing WADL
– Discover REST services
147. REST – URI Address
147
http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphit
heatre+Parkway,+Mountain+View,+CA&sensor=false
148. Project is Set up
Can create multiple resources at this level
148
156. Exercise
156
• Building the correct URI
• Create a separate REST project for each of the
following URIs and adjust the parameters as
needed to build the correct URI:
• http://www.thomas-
bayer.com/sqlrest/CUSTOMER/18/ (remember that
any number can be used after CUSTOMER)
• http://fqt-tmng-
cms.etc.uspto.gov/trademark/cms/rest/metadata/ca
ses/id;sn=76705762
162. Exercise
162
• Create new project using REST service -
https://maps.googleapis.com/maps/api/geoco
de/xml?address=1600+Amphitheatre+Parkwa
y,+Mountain+View,+CA&sensor=false
– Change xml > json for different format in response
• Create multiple requests with different
optional input parameters and different
output formats
– Input parameters: language (see previous sheet),
region (2 char country code that would be used in
url such as ca, gb, gr, jp, etc.)
169. Adding Assertions
169
• CONTAINS/NOT CONTAINS
• SOAP/Non SOAP Reqest
• SOAP fault/non-SOAP fault
• Response SLA
• Xpath/Xquery match
• Script
• Security status
• JMS status and timeouts
170. CONTAINS/Not CONTAINS
170
• 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.
196. 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
197. Groovy Programming Language
• Language Overview
• Flow control
• SoapUI object model
• Dynamic test management
• Writing logic to verify scripts
198. Language Overview
198
• 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
200. Groovy Script Usage
200
• 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
206. Get & Set Settings
206
• 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" )
207. Useful info
207
• Access project name
• testRunner.testCase.testSuite.project.name
• Access test step name
• context.getCurrentStep().getLabel()
211. Groovy Step
211
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.
212. Incrementing a Property
212
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
213. Groovy Exercise
213
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
231. Workspaces
231
• 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
235. Workspaces
235
• 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