How to get response from cy.exec()

Viewed 169

I am having hard time trying to get response from cy.exec() call. For example:

cy.exec("java -version").then((response) => {
  cy.log("response is " + response);
});

The output I have is looking like this:

log response is [object Object]

What do I do wrong here?

2 Answers

cy.exec() yields an object with the following properties:

  1. code
  2. stdout
  3. stderr

So to get the java version you have to log the stderr property

cy.exec("java -version").then((result) => {
    cy.log(result.stderr);
  })

Test Runner Screenshot showing Java version:

test runner screenshot

In the docs

cy.exec() yields an object with the following properties:

  • code
  • stdout
  • stderr

So for your particular execution string, the response is probably on stdout

cy.exec("java -version").then((response) => {
  cy.log("response is " + response.stdout);
})
Related