Creo que puedes usar jQuery .position()
cy.get('#element1') .then($el => $el.position().top) // get 1st top value .then(top1 => { cy.get('#element2') .then($el => $el.position().top) // get 2nd top value .then(top2 => { expect(top1).to.be.gt(top2) }) })notas
Cypress usa jQuery para encontrar elementos. Al encadenar .then($el => ... se expone el objeto jQuery que contiene el elemento, por lo que ahora puede aplicar otras funciones jQuery que no forman parte de los comandos de Cypress.
De hecho, cualquier otra función de Javascript que desee.
También puedes hacer funciones reutilizables.
const getTop = ($el) = $el.position().top; cy.get('#element1').then(getTop) .then(top1 => { cy.get('#element2').then(getTop) .then(top2 => { expect(top1).to.be.gt(top2) }) })Puede usar el método cypress next() para determinar el elemento junto al botón Log in como este. next() obtiene el hermano inmediatamente siguiente de cada elemento DOM dentro de un conjunto de elementos DOM.
cy.get('div[type="submit"]').next().should('have.text', 'Forgot password?')