Skip to content

Using async await in Cypress

I’m very new in Cypress and I’m trying to take a value from an element to use after in the test, but I can’t manage to get the value. Someone said that I need to use async await, but it is not working or maybe I’m doing something wrong. Thanks in advance!

it.only('should access Time Worked section and insert same Staff Complement value, but negative as Flexitime',  function () {
        let timeValue = 0;
        cy.get('[data-tag="staff-complement-input"] > div > span').invoke('text').then(text => +text).then(($val) => {
            // $val = 420
            timeValue = $val;
            cy.log(timeValue) //420
        cy.log(timeValue) // 0
        // need timeValue to be 420



You can use aliases and save the value and use it later.

cy.get('[data-tag="staff-complement-input"] > div > span')
  .then((text) => +text)

cy.get("@someNum").then((someNum) => {
  cy.log(someNum) //420

One point to remember is that cypress clears aliases after every test. So the above will only work if you are doing everything under one it() block.

User contributions licensed under: CC BY-SA
4 People found this is helpful