Let's take a look at how to write API tests using JavaScript for HTTP GET method.

So in the previous post, we wrote a basic GET test to get us started, and now we'll take a step further and write a couple more of GET tests to get a good understanding of them.

Accessing an individual resource

In this test, we'll try to access data for an individual user.

// access the user data based on the id provided
it('GET /users/:id', () => {
  return request.get(`users/1?access-token=${TOKEN}`).then((res) => {
    // validate the data being returned is of the expected user
    expect(res.body.data.id).to.be.eq(1);
  });
});

Working with query parameters

Sometimes, you need to provide query params to filter out the data being requested.

// Filtering data based on page, gender and status
it('GET /users with query params', () => {
  const url = `users?access-token=${TOKEN}&page=5&gender=Female&status=Active`;

  return request.get(url).then((res) => {
    expect(res.body.data).to.not.be.empty;
    // validate all the data being returned are as per the query params provided
    res.body.data.forEach((data) => {
      expect(data.gender).to.eq('Female');
      expect(data.status).to.eq('Active');
    });
  });
});

Alright, so this covers pretty much the majority of the scenarios that you will work with when writing API tests for HTTP GET methods. 🙌

Check out this video to see a detailed explanation on how to work with HTTP GET method:

You can also clone the GitHub repo to access this code


To learn more about API testing, check out my free tutorial series here -

JavaScript API Automation Testing Tutorial Series