Automated Automation of REST APIs

Slides:



Advertisements
Similar presentations
Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Advertisements

Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
Extreme User Interfaces for Alfresco Kevin Dorr Sr. Solutions Engineer Americas Channel.
Lessons learnt developing a NetBeans PDF viewer plugin in JavaFX Ernest Duodu Sylwia Kedzia.
Location based social networking on Android phones – integrated with Facebook. Simple and easy to use.
ExtJS 4.0 JavaScript MVC Framework. Who ExtJS is provided by Sencha ( o Sencha Touch o GWT o CSS Animator o IO (Cloud Data Management)
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing.
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy'
Codeigniter is an open source web application. It occupies a very small amount of space in the memory and is most useful for developers who aim to develop.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
Cross Site Integration “mashups” cross site scripting.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
BTW ”If you go, my advice to you” - Distributed Software Development.
Facebook API Kelly Orser. Client Libraries Client libraries will simplify the calls to the platform by reducing the amount of code you have to write.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. 1 Chapter 14 JavaFX Basics.
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Documenting your API with Swagger Ruben de Jong. Introducing Swagger Free and open source framework Define a standard, language-agnostic interface to.
Version 0.1 Draft – For Review Murali Mohan Murthy
The Holmes Platform and Applications
PTC Navigate & Thingworx based App Development
Plan for today Open-Closed and Quizmaster
SARAH GIDEON 10th December 2016
Open-O Client Project Proposal
Open-O Client Project Proposal
Introduction to gathering and analyzing data via APIs Gus Cavanaugh
JRA2: Acceptance Testing senarious
Physics validation database
Software Architecture ATAM Process Presentation
Business Directory REST API
Functional Automation Framework
Better RESTFul API – Best Practices
Testing Alfresco extensions (no, it’s not about jUnit)
z/Ware 2.0 Technical Overview
Understanding SOAP and REST calls The types of web service requests
Output files generation
Stable and reliable Web Automation
Google Web Toolkit Tutorial
WEB SERVICES.
Open-O CLI One Command to command whole Open-O v1.0
Unit – 5 JAVA Web Services
Michael Robertson Yuta Takayama Google Closure Tools.
Application with Cross-Platform GUI
Asynchronous Java script And XML Technology
AJAX.
Pentaho and Yahoo User Interface (YUI)
API Documentation Guidelines
DotnetConf 11/17/ :06 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Java Server Pages (JSP)
Genome Workbench Chuong Huynh NIH/NLM/NCBI New Delhi, India
Testing RESTful Web APIs
JavaServer Faces: The Fundamentals
API DOCUMENTATION Swetha Mohandas Microsoft Connect 2016
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
MIS JavaScript and API Workshop (Part 3)
Agile testing for web API with Postman
Procedural Information Extraction from Text:
Chengyu Sun California State University, Los Angeles
Building production-ready APIs with ASP.NET Core 2.2
Python and REST Kevin Hibma.
Introduction to Web Services and SOA
Ajax and JSON Jeremy Shafer Department of MIS Fox School of Business
Ajax and JSON Jeremy Shafer Department of MIS Fox School of Business
Chengyu Sun California State University, Los Angeles
Web Application Development Using PHP
Concepts in ASP.NET Core App
Developing ONAP API Documentation
Presentation transcript:

Automated Automation of REST APIs Harshit Kohli Amit Chauhan

APIs vs WebServices F.R.I.E.N.D.S JOEY

APIs vs WebServices Web Services are a subset of the generic term API(Application Programming Interface) All Web Services are APIs but all APIs are not WebServices A Web Service is simply an API wrapped in HTTP APIs – Selenium, Rest Assured Web Services – Google Maps REST API, GitHub REST API

REST

Why REST APIs ? Easy to build Easy to use Fast

Swagger Interface to REST APIs allowing discovery of the capabilities offered Industry Standard for API documentation Offers an interactive console to “try” out the API Developer and Tester friendly

Testing REST APIs

Testing REST APIs (the automated way!)

Ingredient 1 – REST Assured Wrappers Break Rest Assured calls into parts :– Create Request Execute Validate Response API Object Model (AOM) on similar lines of Page Object Model (POM) Reusability of Code Better Maintenance

Ingredient 1 – REST Assured Wrappers https://github.com/kohli-harshit/automated-automation-demo/blob/master/src/test/java/TestPetStore.java

Ingredient 1 – REST Assured Wrappers https://github.com/kohli-harshit/automated-automation-demo/blob/master/src/main/java/api/user/login/GetUserLoginApi.java

Ingredient 2 – Swagger Parser Parse the Swagger documentation using its JSON

Ingredient 2 – Swagger Parser Read JSON using :- JsonPath (https://github.com/json-path/JsonPath) JsonSimple (https://github.com/fangyidong/json-simple)

Ingredient 3 – Auto Generation of Code JavaPoet (https://github.com/square/javapoet) JavaPoet is a Java library for generating .java source files. It offers models for classes & interfaces, fields, methods & constructors, parameters and annotations. Sample code:

Ingredient 3 – Auto Generation of Code Jsonschema2pojo (http://www.jsonschema2pojo.org/) Generates Plain Old Java Objects from JSON

Ingredient 4 – JavaFX GUI Used to create cross platform rich user interfaces Easy to create UI through Scene Builder CSS Support – CSS Styling can be applied to elements(just like Web!) Embraces MVC Design Pattern Fast!

Ingredient 4 – JavaFX GUI Steps to create a JavaFX Application in IntelliJ (https://www.jetbrains.com/idea/download):- Create a JavaFX Application in IntelliJ Update FXML using Scene Builder(http://gluonhq.com/products/scene-builder/) Add code to Controller class

Open Source version coming soon…

Questions ?