Summary: zato-apitest, a newly released tool lets everyone
test their APIs in a human-friendly way, in plain English, with no programming needed. Plenty of features out
of the box, built-in demo mode, screenshots and heaps of documentation await on GitHub.
$ sudo pip install zato-apitest
Here's a screenshot of a demo executed with
apitest demo running against a live test server:
What it can do:
Invoke HTTP APIs
Use JSON Pointers or XPath
to set request's elements to strings, integers, floats, lists, random ones from a set of values, random strings, dates now/random/before/after/between.
Check that JSON and XML elements, exist, don't exist,
that an element is an integer, float, list, empty, non-empty, that it belongs to a list or doesn't.
Set custom HTTP headers, user agent strings, method and SOAP action.
Check that HTTP headers are or are not of expected value, that a header exists or not, contains a value or not, is empty or not,
starts with a value or not and ends with a value or not.
Read configuration from environment and config files.
Store values extracted out of previous steps for use in subsequent steps, i.e. get a list of objects, pick ID of the first one
and use this ID in later steps.
Be integrated with JUnit
Be very easily extended in Python
Note that zato-apitest is meant to test APIs only. It's doesn't simulate a browser nor any sort of user interactions. It's meant
purely for machine-machine API testing.
Originally part of Zato - open-source ESB, SOA, REST, APIs and cloud integrations in Python.
In addition to HTTP Zato itself supports AMQP, ZeroMQ, WebSphere MQ, including JMS, Redis, FTP, OpenERP, SMTP, IMAP, SQL, Amazon S3,
OpenStack Swift and more so it's guaranteed zato-apitest will grow support for more protocols and transport layers with time.
More details on GitHub.
Now, is that cool or is that cool? :-)