WEB SERVICES TEST AUTOMATION



Similar documents
SoapUI NG Pro and Ready! API Platform Two-Day Training Course Syllabus

Web Service Testing. SOAP-based Web Services. Software Quality Assurance Telerik Software Academy

Web Services Description Language (WSDL) Wanasanan Thongsongkrit

soapui Product Comparison

REST web services. Representational State Transfer Author: Nemanja Kojic

Testing the API behind a mobile app. Tutorial Marc van t Veer

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

The presentation explains how to create and access the web services using the user interface. WebServices.ppt. Page 1 of 14

WEB SERVICES. Revised 9/29/2015

Author: Gennaro Frazzingaro Universidad Rey Juan Carlos campus de Mostòles (Madrid) GIA Grupo de Inteligencia Artificial

WhitePaper. Web services: Benefits, challenges, and a unique, visual development solution

vcommander will use SSL and session-based authentication to secure REST web services.

Java Web Services Training

Developing Java Web Services

Mobility Information Series

Consuming and Producing Web Services with Web Tools. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Digital Signature Web Service Interface

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

Developing a Web Service Based Application for Mobile Client

A Tool for Evaluation and Optimization of Web Application Performance

JVA-561. Developing SOAP Web Services in Java

Agile Web Service and REST Service Testing with soapui

Load Testing RIA using WebLOAD. Amir Shoval, VP Product Management

Module 4: File Reading. Module 5: Database connection

1. Tutorial Overview

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Creating Web Services in NetBeans

Oracle Service Bus. User Guide 10g Release 3 Maintenance Pack 1 (10.3.1) June 2009

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

02267: Software Development of Web Services

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

T320 E-business technologies: foundations and practice

How to consume a Domino Web Services from Visual Studio under Security

70-487: Developing Windows Azure and Web Services

Introduction to Testing Webservices

4. Concepts and Technologies for B2C, B2E, and B2B Transaction

GIS Web Services. Acknowledgement: Thanks to Principal & Dr. (Mrs.) G.V. Rao, CRS-GIS, K.J.

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Lesson 4 Web Service Interface Definition (Part I)

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

Chapter 1: Web Services Testing and soapui

Talend Open Studio for ESB. Release Notes 5.2.1

Security Testing For RESTful Applications

Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems

Automating Testing and Configuration Data Migration in OTM/GTM Projects using Open Source Tools By Rakesh Raveendran Oracle Consulting

02267: Software Development of Web Services

CONTRACT MODEL IPONZ DESIGN SERVICE VERSION 2. Author: Foster Moore Date: 20 September 2011 Document Version: 1.7

Testing the API behind a mobile app

IBM Rational Web Developer for WebSphere Software Version 6.0

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Service Oriented Computing: SOAP, WSDL and UDDI. Dr. Cristian Mateos Diaz ( ISISTAN - CONICET

NetSuite Certified SuiteCloud Developer Exam. Study Guide: April 7, 2016

Examples with.net & PHP. Martin Haagen, QlikTech, Systems Manager;

Apigee Gateway Specifications

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

Certified Selenium Professional VS-1083

HTTP and HTTPS Statistics Services

IT6503 WEB PROGRAMMING. Unit-I

e-filing Secure Web Service User Manual

FAQ: Data Services Real Time Set Up

Writing Grid Service Using GT3 Core. Dec, Abstract

Performance testing Web 2.0

GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS Software AG. All rights reserved. For internal use only

Developing Web Services with Eclipse

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Grid Computing. Web Services. Explanation (2) Explanation. Grid Computing Fall 2006 Paul A. Farrell 9/12/2006

Agents and Web Services

4.2 Understand Microsoft ASP.NET Web Application Development

WebSphere Portal Server and Web Services Whitepaper

Web-Service Example. Service Oriented Architecture

Types of Cloud Computing

Wiley. Automated Data Collection with R. Text Mining. A Practical Guide to Web Scraping and

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

GetLibraryUserOrderList

Web Service Development Using CXF. - Praveen Kumar Jayaram

Introduction into Web Services (WS)

Distribution and Integration Technologies

How To Set Up Wiremock In Anhtml.Com On A Testnet On A Linux Server On A Microsoft Powerbook 2.5 (Powerbook) On A Powerbook 1.5 On A Macbook 2 (Powerbooks)

An Interface from YAWL to OpenERP

The end. Carl Nettelblad

Virtual Credit Card Processing System

EUR-Lex 2012 Data Extraction using Web Services

Oracle WebLogic Server

Microsoft Dynamics CRM2015 Fast Track for developers

Server based signature service. Overview

Introduction to Web Services

Transcription:

WEB SERVICES TEST AUTOMATION Notes for Facilitated Discussion at September 2013 Meeting of Northern Virginia Test Automation Interest Group By Rick Hower rickhower@earthlink.net and Jim Moore jmoore@novamoore.com

Roundtable Discussion Facilitated by: Jim Moore Senior Software Engineer, Metron Aviation Inc. Rick Hower Software Test Engineer Consultant, DMG Inc.

Discussion Outline 1. Overview of various types of web services. 2. Discussion of test automation strategies, tools, and experiences. Discussion topics may include: - Evolution of the term 'web services' in recent years - Overview of RESTful web services - Test automation patterns for SOAP/WSDL/XML web services; tools such as SOATest, SOAPUI, HPUFT, etc. - Test automation patterns for RESTful web services

Evolution of the term 'web services The term as it was used then. And how its used now. Mashups

Web Services - General usage Wikipedia: Software functions provided at a network address communicated via the web Always available

NEXT: 1. SOAP/WSDL/XML type web services basics and test automation 2. RESTful Services basics and test automation

SOAP/WSDL/XML context SOAP Simple Object Access Protocol specification for exchanging structured information in Web Services WSDL - Web Services Description Language XML Extensible Markup Language --W3C standards

Example SOAP Request : Request/Response <?xml version="1.0" encoding="utf-8" standalone="no"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" xmlns:xsd="http://www.w3.org/1999/xmlschema"> <SOAP-ENV:Body> <ns1:doubleaninteger xmlns:ns1="urn:mysoapservices"> <param1 xsi:type="xsd:int">123</param1> </ns1:doubleaninteger> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

WSDL Contains objects: WSDL 1.1 Term WSDL 2.0 Term Service Service Port Endpoint Binding Binding PortType Interface Operation Operation Message n/a Types Types

WSDL Example: old Amazon Alexa WSDL <?xml version="1.0" encoding="utf-8"?> <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://ats.amazonaws.com/doc/2005-11-21" targetnamespace="http://ats.amazonaws.com/doc/2005-11-21"> <types> <xs:schema> <xs:import namespace="http://ats.amazonaws.com/doc/2005-11-21" schemalocation="alexatopsites.xsd"/> </xs:schema> </types> <message name="topsitesrequestmsg"> <part name="body" element="tns:topsites"/> </message> <message name="topsitesresponsemsg"> <part name="body" element="tns:topsitesresponse"/> </message>... <service name="alexatopsites"> <port name="alexatopsitesport" binding="tns:alexatopsitesbinding"> <soap:address location="http://ats.amazonaws.com"/> </port> </service></definitions>

XSD Schema inline in WSDL or separate.xsd referenced from WSDL Example: excerpt from old Amazon Alexa web services: <xs:complextype name="topsitesrequest"> <xs:sequence> <xs:element name="security" minoccurs="0"> <xs:complextype> <xs:sequence> <xs:element name="awsaccesskeyid" type="xs:string" minoccurs="0"/> <xs:element name="signature" type="xs:string" minoccurs="0"/> <xs:element name="timestamp" type="xs:string" minoccurs="0"/> </xs:sequence> </xs:complextype> </xs:element> <xs:element type="xs:string" name="countrycode" minoccurs="0"/> <xs:element type="xs:string" name="citycode" minoccurs="0"/> <xs:element type="xs:string" name="start" minoccurs="0"/> <xs:element type="xs:string" name="count" minoccurs="0"/> <xs:element type="xs:string" name="responsegroup"/> </xs:sequence> </xs:complextype>

SOAP/WSDL/XML Test Automation Tools SOAPUI - from SmartBear; free and pro$ versions; for inspecting, invoking, simulating/mocking & functional & load testing of web services over HTTP. Also handles RESTful services testing. SOATest from Parasoft; automatic test creation from WSDL, WSIL, UDDI and HTTP Traffic. Includes load & security testing; graphically model and test complex scenarios. HPUFT HP Unified Functional Testing - new version of HP Service Test and QuickTest Pro; also handles RESTful services testing. XMLSpy from Altova, for modeling, editing, transforming, debugging XML-related technologies. Text-based or graphical editing views. Useful for analyzing & validating WSDLs & XSDs. OTHERS -?

Road to RESTFul Services Use of Javascript API to pull data from URL (AJAX) First: Dynamic webpage content (HTML & Text) Next: Javascript data (JSON) SOAP too complex for early Javascript AJAX/JSON provided simple web service interface

Key RESTFul Services Concepts Not remote procedure calls Shaped by WWW hypermedia metaphor Can provide query suggestions, not just data Evolving and maturing platform SOAP frameworks incorporating features/design concepts

Useful Test Tool Features Make HTTP request to URL Select HTTP verb (e.g. GET, PUT, POST, DELETE, etc) Custom heading key/value pairs POST body text/data Review response metadata Review views of response data (e.g. raw, higlighted, display) Save and replay query Scripting (e.g. unit test capability) Proxy server capability

Sample Test Tools RESTClient Firefox Addon HTTP query tool available as Firefox addon. Good tool for manual testing of web service. (http://restclient.net/) Fiddler2 - HTTP debugging proxy server application. It captures HTTP(S) traffic and logs it for the user to review. It can also be used to "fiddle" with HTTP traffic as it is being sent. (http://fiddler2.com/) RESTClient RESTClient is a Java application to test RESTful webservices. It can be used to test variety of HTTP communications. Provides unit test framework and Groovy support. (https://code.google.com/p/rest-client/)

RESTFul Services Frameworks ServiceStack RESTful web service framework for.net supports various data encoding formats and endpoints (e.g. RESTful and SOAP) (http://www.servicestack.net/) Jersey RESTful Web Services - an open source, production quality, framework for developing RESTful Web Services in Java. (http://jersey.java.net/) Django a Python based RESTFul web services framework. (http://django-rest-framework.org/)

RESTClient Firefox Addon

RESTClient

Fiddler

ServiceStack - Metadata

ServiceStack XML output

ServiceStack JSON output

ServiceStack SOAP 1.2 output

Comparison of Approaches to Web Services Test Automation * SOAP/WSDL/XML web services test automation vs RESTful Services test automation * Technology diffs affecting testing * Web services test automation dev/test/? * Considerations for agile contexts unit/api/small/medium * Future of web services and web services test automation

A few other resources REST-assured - Testing and validating REST services in Java - http://code.google.com/p/rest-assured/ restito - testing framework for rest clients in JAVA https://github.com/mkotsur/restito therightapi - find/try/test API's online; $ ; more than 100 public API providers http://www.therightapi.com/discover Betamax - Record & replay HTTP traffic for simple, reliable tests. - written in Groovy http://freeside.co/betamax/ wiremock http://wiremock.org/ WireMock is a flexible library for stubbing and mocking web services. Martin Fowler on improvements to RESTful services Discoverability and Hypermedia As The Engine Of Application State (HATEOAS) http://martinfowler.com/articles/richardsonmaturitymodel.html