User Tools


Sidebar

dev:start

Plugin Development

Overview

Plugins

Note: SoapUI (open source) is a standalone product, an should not be confused with SoapUI NG which is part of the Ready! API family).

Plugins are modules that extend functionality of tools in either Ready! API or SoapUI (open source). They are developed in Java, and use the Plugin Framework which provide annotations and interfaces that can be used to extend or modify functionality.

They are distributed as a single JAR file containing all the plugin functionality and all needed 3rd party libraries.

→ Read more...

Introduction

Overview

Structure

A Ready! API plugin is a single JAR file containing all the plugin functionality and all needed 3rd party libraries.

→ Read more...

Annotations

Plugins are identified to Ready! API through the use of Java annotations. Annotations contain metadata about the actual code.

When creating plugins, you add a corresponding annotations to your code classes to identify the extension type and provide other information.

When plugins are loaded in Ready! API, the annotations are used to define configurations and functionality.

Java Documentation

You can read more about Java annotations in the Annotations Java Tutorial .

Annotation types

Configuration
Type Creates Comment
@PluginConfiguration Config Required for all plugins

→ Read more...

Actions
Type Creates Comment
@ActionConfiguration Action Added at Project level by default - @ActionConfiguration(actionGroup = ActionGroups.OPEN_PROJECT_ACTIONS)
@ActionConfiguration Toolbar item Specify @toolbarPosition. Note: not available in SoapUI.
Listeners
Type Creates Comment
@ListenerConfiguration TestRunListener Can be changed to any supported listener

→ Read more...

User Interface
Type Creates Comment
@PluginPanelBuilder PanelBuilder Use this if you create your own TestStep
@PluginRequestEditorView Request Editor view
@PluginRequestInspector Request Inspector tab
@PluginResponseEditorView Response Editor view
@PluginResponseInspector Response Inspector tab

→ Read more...

Protocol
Type Creates Comment
@PluginRequestFilter Request filter Applied to all outgoing requests
@PluginRequestTransport Request transport

→ Read more...

Test Objects
Type Creates Comment
@PluginTestAssertion Assertion
@PluginTestStep TestStep

→ Read more...

Integrations
Type Creates Comment
@PluginDiscoveryMethod REST Discovery method
@PluginImportMethod Project Importer

→ Read more...

Miscellaneous
Type Creates Comment
@PluginPrefs Tab in the global Preferences
@PluginSubReport SubReport data source
@PluginValueProvider Property Expansion Value Provider

→ Read more...

Tools

In order to do plugin development for Ready! API, you need to have a development environment (we suggest IntelliJ IDEA), and a build tool (we suggest Apache Maven).

(Obviously you also need a working installation of Ready! API to install and test the plugin.)

Maven

Maven is a build automation tool for Java projects used to keep track of building and dependencies.

SmartBear provides a maven archetype you can use in your project.

→ Read more...

IntelliJ IDEA

IntelliJ IDEA is used internally by Ready! API developers. The community edition is free, and contains everything you need to do plugin development.

It is cross-platform, and you can download a copy from https://www.jetbrains.com/idea/download/

→ Read more...

Plugin Development Kit

SmartBear provides a Ready! Api Plugin Development Kit which contains a Maven archetype for your plugin projects, and also a sample plugin template which contains most of the extension mechanisms.

→ Read more...


Page Tools