Having trouble extracting the object value from the response body in cypress

As a beginner in the world of Cypress, I am eager to dive into API Testing using Cypress. My current focus is on sending a basic GET request to the URL provided below:

Specifically, I am attempting to extract the value of responseCode, but unfortunately every time I attempt to access it, I end up with a blank result. Here is my logic:

it("Verify All Product response contains correct keys and values", () => {

    cy.request("GET","https://automationexercise.com/api/productsList").then((response) => {
        expect(response.status).to.eq(200)
        expect(response.body).length.to.be.greaterThan(1)
        cy.log(response.body.responseCode)
  });
});

I have attached a screenshot displaying the outcome of my efforts: https://i.sstatic.net/Psbjf.png Please provide guidance on where I may be going wrong. Thank you.

Answer №1

Instead of using cy.log() for debugging, opt for console.log().

To debug in a browser outside of Cypress, open the devtools, navigate to Network, and enable recording.

Enter your URL into the navigation box - the devtools will display the network request and allow you to examine the response in the Response sub-tab.

Upon inspection, it's evident that there is no body in the path, so refrain from adding it to your test script.

https://i.sstatic.net/qVIOy.png

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Error: The property 'updateOne' cannot be read because it is undefined

I have been struggling to update an array in my MongoDB database, despite following the steps outlined in the official documentation. I can't seem to make it work. Can anyone provide assistance? I went through the official documentation, but unfortun ...

Tips for implementing asynchronous operations within the constructor

Exploring how to create a Customer object in NodeJs with the ability to retrieve its data. class CustomerModel extends Model { public customer constructor(email:string) { super(); this.collection = 'customer'; this.customer = aw ...

Refresh the Google Maps location using GPS coordinates

Currently, I am working with an Arduino that has a GPS chip and processing NMEA strings with Python. I have an HTML file set to auto-refresh every x seconds to update the marker's position. However, I would like to update the position information with ...

What could be causing the data in the data table to remain undeleted unless the page is manually refreshed

I am facing an issue with the delete button functionality. When I press the button, it successfully deletes the row but requires a page refresh to make the deleted row disappear. How can I resolve this problem and ensure that the row is deleted without the ...

Trouble arises when utilizing a string method in JavaScript

I have some simple code, and yet am receiving an unexpected result. Let's take a look at the following function: const test2 = () => { let containsBitcoin = false const str2 = "buy bitcoin" if (str2.includes('bitcoin')) { ...

Encountered a 404 error while attempting to build and serve a Vue.js project using 'npm build' in Apache Tomcat

After setting up a Vue.js project, the configuration in the package.json file looks like this: "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "lint": ...

Discovering the process to verify and obtain the outcome of an API request through jQuery Ajax

Seeking assistance in utilizing jQuery AJAX to access an API with a URL and parameters using the POST method. Specifically, I aim to determine the availability of delivery for a given Pincode on an e-commerce website. Any guidance on how to retrieve data f ...

Customize Your Lightbox Fields with DHXScheduler

In my JSP application for exam timetabling, I have integrated DHXScheduler and customized the lightbox to display additional information about exams using my own fields. The EventsManager class is responsible for managing events by saving, creating, and r ...

Trigger the click event on the ul element instead of the li element using jQuery

Is there a way to make the click event only affect ul tags and not all li elements using jQuery? <!-- HTML --> <ul class="wrap"> <li>test1</li> <li>test2</li> <li>test3</li> </ul> I attemp ...

Enhance the angular 2 dependencies within the angular2-cli project

After experimenting with Angular 2 and following the guide on their website, I attempted to switch to Angular 2 CLI. However, the Angular 2 CLI project does not have the latest dependencies, resulting in errors from the compiler related to certain commands ...

Replace Formik with useFormik to streamline your code

I have implemented Formik/Yup for validation on a page that triggers a GraphQL mutation. The code is functioning as expected: export default function RemoveUserPage() { const [isSubmitted, setIsSubmitted] = useState(false); const [isRemoved ,setIsRemo ...

Calculate sums in ReactJS without the need for a button

Adding a few numbers might seem like an easy task, but I've been unable to do so without using an explicit button. // Using useState to handle state changes const [ totalCount, setTotalCount ] = useState(0) // Function to add numbers of differ ...

How can one properly iterate through an HTML Collection in JavaScript?

I need help with creating a slider using JavaScript. The code I have written below calculates the widths of the slides, but it's throwing an error in the console. Can someone advise on how to properly loop through and assign width to these elements? ...

Retrieve information from the third section by utilizing ajax

My current setup involves: Having a form in form.php for inserting data, Displaying data in table format with pagination on display.php, and Using validation.js for validating form data along with the following function: $('#pagiCount a'). ...

Error: Child component received an undefined prop

Within my parent component, I have three child components. The first child component is a form that, upon submission, passes data to the second and third child components through props via the parent component. However, in one of the child components, the ...

Utilizing a for loop to iterate through an array based on its length

Just delving into the world of JavaScript and recently grasped the concept of For loops. I have a variable that holds an array with a list of first names, and my goal is to add last names to each of them. Here's the code snippet I came up with: l ...

Tips for adding a click event to a random "div" within a parent "div" element?

Upon clicking a main "Div", it splits into an n X n matrix with random colored divs. I now want to implement a click function for these random colorful divs that are scattered throughout the main "div". $(window).load(function() { var no = 1, $m = ...

Selenium - Firefox Unresponsive Script Issue

I have encountered an issue where I am getting multiple "Unresponsive Script" pop-ups when opening a page using Selenium. This problem does not occur when I manually open the page using Firefox without Selenium. Strangely, the issue only arises when I open ...

Tips for updating a database with unique input names using mongoose

I am faced with a challenge where I have a form generating dynamic inputs with names such as: name="phoneDefault1" name="phoneDefault2" name="phoneDefault3" name="phoneDefault4" and so on.. The objective is to include these inputs into a model schema wi ...

Automatically bundle and release an NPM package using the libnpm library

My goal is to automate publishing to NPM within my CI/build system. I came across libnpmpublish, which appears to be the right tool for the job. However, it clearly states that it does not package code into a tarball, even though the publish API requires a ...