qa-api-testing

API testing with Postman and Newman, REST Assured and Karate, plus Schemathesis and RESTler fuzzing and API tests run under injected network chaos. An authoring agent (api-test-author) picks the tool from observable project facts and writes one functional test per endpoint and scenario.

Install this plugin
/plugin install qa-api-testing@testland-qa

First time? Add the marketplace with /plugin marketplace add testland/qa

View source (opens in a new tab)
Plugin
Version
v1.7.10
Contents
6 skills · 1 agent

Skills6

Agents1

About qa-api-testing

API testing across Postman/Newman, RestAssured, Karate; Schemathesis + RESTler fuzzing; and an API chaos runner that injects latency / error rates during test runs.

Choosing a tool

Functional API testing (request in, assertions on status + body) is what this plugin covers. Two neighbor disciplines are easy to confuse with it: contract testing ("will the consumer still work when the provider deploys?") is Pact's job - see the qa-contract-testing plugin; load testing ("does it hold up at 500 rps?") is k6 / JMeter - see qa-load-testing. A functional suite run in a loop is not a load test.

Read down the "What you can observe" column and stop at the first row that matches your project:

What you can observeYour goalStart withWhy this one
pom.xml or build.gradle, tests already run under JUnit, engineers write and read the testsFunctionalrestassured-testingTests are plain Java in the existing src/test/java tree, so the build, CI, and IDE already work. No new runtime.
JVM project, but testers or analysts who do not write Java must read or edit the testsFunctionalkarate-testingTests are .feature files in Gherkin shape and are directly executable: no step-definition glue code to maintain.
package.json, or the team already has a Postman collection JSON in the repoFunctionalpostman-collectionsAuthor in the GUI, run the exact same collection headlessly in CI with newman run.
An OpenAPI (2.0/3.x) or GraphQL schema is committed or served, and you want broad coverage without hand-writing per-endpoint testsSpec conformanceschemathesis-fuzzingGenerates inputs from your schema; coverage grows automatically as the schema grows.
An OpenAPI spec and the API is a resource lifecycle (POST creates, GET reads, DELETE removes), and you want security and reliability bugsStateful fuzzingrestler-fuzzingStateful REST API fuzzing; infers request dependencies to reach deeper service states.
The suite is green and you want to know how it behaves under network faultsResilienceapi-chaos-runnerRuns the functional suite under Toxiproxy-injected latency / timeouts / resets.

Tie-breakers when two rows match: match the service's own language; a schema flips the answer only for coverage goals (most teams end up with a small hand-written suite plus Schemathesis, not one instead of the other); fuzzers are additive, never first - get a functional suite green before fuzzing; if nothing matches, use Postman + newman (needs only Node, works against any HTTP API, portable collection JSON).

Universal traps regardless of tool: asserting only on the status code (assert at least one body field too), order-dependent tests sharing server state (create per-test data with unique keys), hardcoded environment URLs and secrets (every tool has an environment mechanism - use it from the first test), and pointing any of it at production (fuzzers generate requests designed to be unusual - target local or staging).