I'm moving tests from protractor to cypress.
I have two elements like below. I want to get the number and add them and store them in a variable.
<span id="num-2">20</span>
In protractor I wrote it like below
var totalCount =
parseInt(element(by.id('num-1')).getText()) +
parseInt(element(by.id('num-2')).getText());
I can't figure out how to do it in Cypress.
You can achieve aliases/variables and get. The trick is that get, invoke, or similar are effectively async and you can't really effectively await cypress operations. Instead you can get the first number, parse it, get the second number, parse it, add the numbers and assert/expect:
const expectedTotal = 42;
// get element with id #num-1
cy.get('#num-1').then(($num1) => {
// parse text to int/number
const num1 = parseInt($num1.text());
// get element id #num2
cy.get('#num-2').then(($num2) => {
// parse text to int/number
const num2 = parseInt($num2.text());
// expect/assert number total equal to some expected total
expect(num1 + num2).toEqual(expectedTotal);
});
});
Hopefully that helps!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With