Aquí está la pieza del programa donde se puede ver que:
var likes = [] cy.get('.blogs').each(($el, index) => { const bcy = cy.wrap($el) bcy.get('#viewBlog').click() const like = Math.floor(Math.random() * 10) likes[index] = like for(let i=like;i--; ) bcy.get('.blogsDetail').eq(index).contains('likes').click() }) likes.sort((a, b) => b - a) //Sorting at this place doesn't workLos comandos de Cypress son asíncronos. Para ordenar la matriz después de each comando, debe usar then devolución de llamada:
var likes = [] cy.get('.blogs').each(($el, index) => { const bcy = cy.wrap($el) bcy.get('#viewBlog').click() const like = Math.floor(Math.random() * 10) likes[index] = like for(let i=like;i--; ) bcy.get('.blogsDetail').eq(index).contains('likes').click() }).then(() => { likes.sort((a, b) => b - a) }) Cuando llama al método de sort desde un then , se ejecuta antes que cualquier comando de cypress y tiene una matriz vacía en ese momento. Véalo en el depurador: 