Test Your APIs With RapidAPI Testing

Thu Jul 14 2022

12 min read

Test-Driven Development (TDD) is a software development process where we convert requirements to test cases before entirely writing the code. It exists because writing tests is essential to maintain the integrity of your codebase. You can manually test the user interface, but it takes a lot of time, so you write these tests once and execute them via a simple command.

We write tests for almost every piece of our code, irrespective of where it runs. We can use Jest or Cypress to test the client-side code and Mocha to test the Node.js server code.

While we are on the subject, you should always write tests for your APIs. There are two reasons for it. First is that APIs let the client and server communicate, so they need to be up all the time. The second is your code becomes more efficient and reliable.

Writing tests for API becomes even more important if you plan to monetize it.

You can use the RapidAPI Provider to publish your APIs on RapidAPI Hub to monetize them and make it publicly accessible. RapidAPI Provider is an API management tool, and you can read all about it here. Right now, let’s look at another product of RapidAPI that can help you write tests for your APIs, schedule them, set alerts, and more.

What is RapidAPI Testing?

As the name suggests, RapidAPI Testing lets you create different tests for your APIs. It is a functional API and monitoring platform that provides an intuitive user experience and support for various API architectures.

With RapidAPI Testing, you can easily create complex functional tests for deep validation of APIs. On top of this, it provides you with a webhook to run API tests from CI/CD pipelines managed by Jenkins, CircleCI, GitHub, Travis CI, and GitLab.

RapidAPI Testing lets the users and enterprises ensure API functionality, provides centralized monitoring, and improve their API efficiency.

Loading component...

What can you do with RapidAPI Testing?

RapidAPI Testing is full of exciting features. Let’s take a quick look at each of them.

1. Code-based Editor To Write API Tests

You can write API testing code right inside RapidAPI Testing that, when run, perform tests on your API. For instance, you can check if the API returns a response when a GET request is made.

2. Create Tests By Drag And Drop

If you do not know how to write tests for your APIs, RapidAPI Testing has still got you covered. It provides a drag-and-drop editor that you can use to set up different tests for your API.

3. API Support

Currently, RapidAPI Testing supports three API architectures, i.e., REST, SOAP, and GraphQL. If your API is based on one of these types, you will be able to test it thoroughly.

4. Test Your API Security

With RapidAPI Testing, you can write tests to check if the authentication works well. You can also test authorization, write code to validate API headers and prevent API injections.

5. Monitoring Across Global Data Centers

RapidAPI Testing also lets you run tests on different data centers globally. This way, you can test the performance of your API based on other geographical locations.

Currently, there are nine locations available, including Paris, Tokyo, Mumbai, etc.

6. Schedule Tests

Your API must always be up if you want people to use it. You can write tests to ensure this. But the API can break later. To take care of it, RapidAPI Testing lets you schedule tests for your API.

By scheduling tests, you can look at the RapidAPI Testing dashboard later to check if any scheduled test has failed.

7. Real-time Alerts

You can also set up real-time alerts using RapidAPI Testing. This way, if any of your scheduled tests have failed, you are notified immediately.

You can receive these alerts via email or SMS. You can also integrate it with existing developer tools like GitHub, PagerDuty, Slack, and Twilio.

8. Execution Report

Every time a test is run on RapidAPI Testing, it generates a detailed execution report. You can look at it later to see if everything works as expected.

9. Test Analytics

RapidAPI Testing provides you with key analytics and quick insight to see how your tests have performed. These analytics show how many total tests were run and how many passed and failed. You can also see test executions over different periods of time.

10. Built-in Collaborations Across Organizations

With this feature, you can share your API access and different API tests with the team. You can also define roles and set permission models for creating and running these API tests. On top of this, these tests can be shared with the people outside your organization.

11. Integration With RapidAPI Products

RapidAPI Testing is closely integrated with other RapidAPI products. For instance, if your API is published on RapidAPI Hub, you can easily write tests for it. There are two ways to do it.

Open your RapidAPI Provider dashboard and click on Testing. Open RapidAPI Testing dashboard. It contains all the APIs you have published on the RapidAPI Hub.

12. CI/CD Integration

As mentioned earlier, RapidAPI Testing provides a dedicated webhook that you can integrate inside Jenkins, CircleCI, GitHub, Travis CI, and GitLab. This way, you can add tests to your software delivery process.

RapidAPI Testing Dashboard

You see a dashboard when you open RapidAPI Testing. This dashboard is where all your APIs are present so you can test them. It is divided into two sections, each containing different options.

The left sidebar has options like Admin, Docs, Apps, and your profile icon. In contrast, the right section contains a search field, a create API button, and all your APIs.

Let’s look at each option in detail.

Admin

This is the admin section where you can find keys, context, and secrets for workers. A worker is a piece of code that executes the API tests. RapidAPI has many workers deployed around the world. These workers can generally run all API tests, but if the API is behind a firewall or VPN, you will have to use custom workers to test it.

Right now, RapidAPI provides two types of custom workers, an npm package and a docker container. Whatever you go with, you will have to pass the worker configuration options like the key and secret, as mentioned earlier.

Docs

When you click on it, it will take you to the RapidAPI documentation website. Here, You will find everything you need to know to get started with different RapidAPI products, including RapidAPI Testing. You can learn how to use RapidAPI Testing to write advanced tests, schedule tests, etc., from here.

Apps

When you click on it, it will open a box where you will see other RapidAPI products. You can click on any of them, which will take you to the product’s page.

The profile icon contains three options, i.e., top open the settings, billing information and to log the user out from RapidAPI Testing.

The search bar lets you quickly find the API you need for which you want to write the tests. It is particularly useful when there are several APIs on your dashboard.

Create API Button

I mentioned earlier that RapidAPI Testing is tightly integrated with other RapidAPI products, especially RapidAPI Hub. You can use the Create API button of RapidAPI Testing to create an API on RapidAPI Hub.

Once you click on the Create API button, it will open a dialog box where you would have to type in the API name. You can also add its OpenAPI/Postman definition. When you are done, click OK, and the API will be created.

Now, if you open RapidAPI Provider, you will find that a private API has been created. You can add the API definition, base URL, endpoints, etc., and then write tests for the API on RapidAPI Testing.

APIs

Under the search bar and the Create API button, you will find all your APIs listed. These are all APIs published on RapidAPI Hub using RapidAPI Provider. Each API has its testing environment where you can write tests for it.

Once you select an API, it will take you to another page where you can create tests for the API.

How To Create A Test on RapidAPI Testing?

There are three ways you can create tests on RapidAPI Testing, i.e., Visual Editor (Drag and Drop), Code Editor, and Automatic Test Generation.

Let’s look at how we can create tests in these three ways.

Visual Editor (Drag and Drop)

Let’s do it in steps to make things simpler.

→ STEP #1

First, select the API for which you want to write the tests. Afterward, click on Create Test. Give your test a name. Let’s call it the Visual Editor Test.

→ STEP #2

Ensure that you have selected the Editor from the left sidebar. Now click on Add Step. It will open a dialog box with four types of options, i.e., Data fetch, Asserts, Flow Controls, and Dynamic Values.

Select the HTTP GET method from the Data Fetch category.

→ STEP #3

Now fill in the options. Add your API endpoint. Pass any headers, body, and URL parameters. When you are done, click on Save & Run.

It will save and run the test.

You will see that you can add more steps once you have created a step. You can even drag and drop steps to change their execution order.

Code Editor

Let’s do it in steps to make things simpler.

→ STEP #1

First, select the API for which you want to write the tests. Afterward, click on Create Test. Give your test a name. Let’s call it the Code-based Test.

→ STEP #2

Make sure that you have selected the Editor from the left sidebar. Now click on the Code option besides Visual. It will change the section to an empty array. You can write JSON here.

Each object inside JSON will be a test. Each test will take a test ID, action like http.get, and parameters.

Go ahead and replace the following JSON there. Replace the url with your API endpoint.

json
[
{
"_id": "zAsSKJbswQMo",
"action": "Http.get",
"parameters": {
"url": "https://jsonplaceholder.typicode.com/posts"
}
}
]

Here is how it looks.

Now go ahead and click on Save & Run.

Automatic Test Generation

Let’s do it in steps to make things simpler.

→ STEP #1

First, select the API for which you want to write the tests. Afterward, click on Create Test. Give your test a name. Let’s call it the Automatic Test Generation Test.

→ STEP #2

Make sure you selected the Editor from the left sidebar. Click on Request Generator from the bottom. It will open all endpoints with their HTTP method. Select the endpoint you wish to write a test, click on Send to try it out, and lastly, select Add to test.

A dialog box will open up when you click on Add to test. Choose all the appropriate options depending on your API and press Ok. You will see that your test has been added.

How To Schedule Test on RapidAPI Testing?

You can schedule your API tests on RapidAPI Testing, so it automatically runs without running it ourselves. Let’s take a look at how we can do it.

→ STEP #1

You need to schedule a test using any of the three ways we have explained above. Now select Schedule from the left sidebar.

→ STEP #2

Now click on Add Schedule. It will ask you for the schedule frequency, environment, and location. I have set the frequency to six hours, the environment to default, and selected Paris for the test location.

My test will run every six hours on the default environment in Paris, and RapidAPI Testing will generate a test report for each test.

How To Setup Alerts on RapidAPI Testing?

We can set up API alerts to instantly get notified if our API tests fail. Let’s look at how we can do it.

→ STEP #1

Select the API you want to set up alerts on RapidAPI Testing Dashboard. Afterward, click on Settings from the left sidebar. It will open a section where you will see the Alerts area.

→ STEP #2

You can set up email alerts for free. So let’s do that.

Click on the plus (+) icon under Email. Fill in all the fields. When you are done, click Submit button.

Pricing

RapidAPI Testing currently offers five plans, i.e., Basic, Starter, Pro, Ultra, and Enterprise.

The basic plan is free to use. You can add two API tests per API, process 2000 API calls monthly, use email-only alerts, and have a minimum six-hours scheduling gap. It is the best package if you want to familiarize yourself with RapidAPI Testing before buying it.

The rest are paid plans, and you can choose them according to your needs.

Wrap Up

That’s all for this piece, folks! I hope now you understand how RapidAPI Testing can help you with writing your API tests. Now go ahead and try it yourself.