SoapUI has introduced a RAML plugin that allows users to import RAML files into SoapUI for testing of REST APIs. The new plugin also allows users to browse the MuleSoft APIhub directory for APIs using RAML or Swagger definitions. SoapUI, and both the RAML and Swagger plugins, are open source on GitHub and available for download from SourceForge. There is also a SoapUI Pro version available that is designed for professional testers and enterprise users.
What is SoapUI?
SoapUI is a free, open source platform for API testing written completely in Java. It was originally released in 2005 and has more than 1 million users worldwide. SoapUI is designed so that both technical and non-technical users can perform various types of API testing, including functional/load, ad-hoc functional, performance, interoperability, regression, data-driven, automatic scenario-based, and many other types. Both editions of SoapUI support technologies such as SOAP/WSDL, REST, JMS, AMF, JDBC, and HTTP.
API developers and consumers can use SoapUI to create TestSuites and TestCases to perform testing in the form of long sequences of calls to an API. The TestSuites can be set up to login to the API service, then use the access token that is sent back as a parameter for a search API call, and so on. SoapUI also has built-in support for WADL (an older API metadata initiative). Ole Lensmar, Creator of SoapUI and Chief Architect at SmartBear Software Sweden, spoke with ProgrammableWeb about SoapUI and said that:
"It is important to note that SoapUI has had comprehensive REST API testing functionality since 2008 – and complementary to the built-in WADL support and the new RAML plugin, there is also a free Swagger plugin available, showing our commitment to providing the rapidly evolving REST community with a high quality testing tool for their APIs."
SoapUI recently released version 4.6.2 which includes key improvements such as easy REST-project creation, easy REST URI splitting, template and query extraction, level And type assignment, and improved parameter editing. The company is currently working on the development of SoapUI version 5.0 which will include better support for authorization, mocking and more.
What is RAML?
RAML stands for RESTful API Modeling Language and is a non-proprietary, vendor-neutral open specification for describing "practically-RESTful" APIs. This new initiative to provide metadata for APIs aims to help solve current problems in the API ecosystem and help to create better API design patterns. According to the official website, RAML describes APIs in a way that is "clear, correct, precise, consistent, readable, writable, natural, and intuitive." The primary supporter of RAML is MuleSoft, the parent company of ProgrammableWeb (RAML is also a trademark of MuleSoft). The RAML workgroup is supported by representatives from technology companies including AngularJS, Intuit, Box, PayPal, API Evangelist, and API Science.
"RAML is a new and strong addition to the API metadata and documentation field. It is well thought out and has an impressive group of people behind it – time will tell if it gets the adoption it deserves. It [RAML] has a few unique features, e.g. how to specify examples, “ traits" for handling similar resources effectively, which makes for great flexibility."
SoapUI RAML Plugin
The recently released RAML plugin for SoapUI allows importing of RAML files into SoapUI for testing of REST APIs - and also provides users the ability to browse the APIhub directory for APIs with either RAML or Swagger definitions (The SoapUI Swagger plugin must also be installed for Swagger definitions).
The SoapUI RAML Plugin resolves and traverses RAML files and creates corresponding SoapUI objects using the RAML Java Parser Add-On in order to parse and resolve the described API model. Matti Hjelm told ProgrammableWeb:
"Testing and quality is increasingly being recognized as key factors to an APIs' success in a competitive market – It definitely made sense to make SoapUI and it’s comprehensive API testing possibilities available to early adopters of RAML and the APIhub directory."
At the time of this writing, there are 11 SoapUI Plugins available which include a ProgrammableWeb plugin that makes it possible to browse and import APIs from the ProgrammableWeb API directory, a Swagger plugin that adds Swagger import and export functionality, and a Runscope Plugin that reroutes all requests through the Runscope platform. Matti Hjelm told ProgrammableWeb:
"The possibility to extend SoapUI with plugins is a great way for us [SmartBear] to embrace new technologies and get a feel for their adoption in the community before we make a commitment to supporting them in the actual product."
For more information about SoapUI and the SoapUI RAML Plugin, visit SoapUI.org.
By Janet Wagner. Janet is a Data Journalist and Full Stack Developer based in Toledo, Ohio. Her focus revolves around APIs, open data, data visualization, and data-driven journalism. Follow her on Twitter, Google+, and LinkedIn.