Skip to content

What is Skybear.NET?

Skybear.NET is a managed platform simplifying automated HTTP API testing.

Also referred to as Synthetics testing, your test scripts can do anything from comprehensive response assertions to multi-step workflow automations, with just a few lines of text.

The test scripts use the Hurl.dev syntax that keeps your scripts simple and concise, even as your testing needs grow. It’s not uncommon to see Hurl files with hundreds of lines of steps, due to how simple it is to read and understand.

Who should use it?

If you provide any kind of HTTP API for others to use, and you care about its correctness and performance, Skybear.NET is for you.

If you want to automate a bunch of API calls, using information from one response to the next request, and want to keep everything in a nice maintainable format, on a managed platform giving you all the niceties, Skybear.NET is for you.

If you want to script specific API interactions, your own or consuming others’, and configure them to run on scheduled times, or invoke all of them manually on-demand, Skybear.NET is for you.

The benefits

Tools targeting HTTP API testing is not something new, and there are a million ways to do it. However, most of the approaches require considerable amount of time and effort.

  • You need to configure your CI platform to run tests using latest versions of Hurl (or your tool of choice), gather the results/reports, upload them somewhere, provide a UI to view them, etc.
  • You need to write code or setup local environment to author your test scripts, and some of these tools are very fiddly or even flaky.
  • You need to setup cron jobs or some manual scripting to run your tests every few seconds/minutes.

In the end, many times, to avoid all this hassle you end up not adding automated testing at all. And the one suffering is your customers.

There are several popular tools among developers simplifying API testing, including Postman, Bruno, and Hurl, and many others.

Skybear.NET decided to support Hurl files initially, due to its simplicity, great readability, and enormous flexibility. More tools and syntaxes will be supported down the line, but for now Hurl is our first-citizen scripting syntax.

Take your Hurl scripts as-is, and run them on a managed platform where all the underlying infrastructure is managed for you. Configure your scripts to run on a schedule, or invoke them on-demand from your anywhere with a POST HTTP request, and get notified when they fail.

The platform also provides comprehensive run reports to better understand your APIs performance, and makes it easy to troubleshoot its correctness.

Why Hurl?

Comprehensive assertions

GET https://about.skybear.net/_live-demo/sample-001.json
HTTP 200
[Captures]
contentType: header "Content-Type"
[Asserts]
# Assert headers.
header "content-type" endsWith "/json"
#Assert variables captured from previous responses.
variable "contentType" endsWith "/json"
# Assert the body as JSON!
jsonpath "$.projects.[0].points" == 2
jsonpath "$.projects.[0].points" isNumber
jsonpath "$.address.street" split " " nth 1 == "Maple"
# Assert the body as raw bytes or plain text!
bytes count < 1000
body contains "Maple"

As you can see from the example script above, Hurl scripts allow you to do all sorts of assertions on the response body and headers. From exact matching of values, to nested JSON assertions, or even whole body checks.

Learn more about all the assertions you can do in Hurl’s documentation.

Automations and Workflows

# Create a workflow calling multiple remote APIs.
GET https://about.skybear.net/_live-demo/get.json
HTTP 200
[Captures]
var1: jsonpath "$.var1"
# Use captured value from previous response.
POST https://about.skybear.net/_live-demo/set/{{ var1 }}
HTTP 200
# Just send requests, without asserting the response.
POST https://about.skybear.net/_live-demo/set/call-two
POST https://about.skybear.net/_live-demo/set/call/three

Among the reasons we love Hurl is that it’s trivial to write sequences of API requests, to orchestrate wholesome workflows.

You can do tens or hundreds of requests, each one extracting and using information from all previous responses, in a single script.

You can maintain a single test script per complete user-journey you want to test, for example:

  1. Create a resource (POST).
  2. Modify the resource properties (PUT or/and PATCH).
  3. Assert that the resource is in the expected state (GET).
  4. Repeat steps 2 and 3, as many times as necessary.
  5. Delete resource (POST).

As seen in the example script above, you can even write comments in your scripts, which is amazing, since a script can be documentation itself for how your API works.

Get started now

Read our 1-minute quickstart guide, and write your first test script now.

If you have questions, email me directly (lambros [AT] skybear.net), or reach out on X.