如何使用赛普拉斯比较 React JS 中两个 div 的 css 宽度?
How to compare css width of two divs in React JS using Cypress?
我的 UI 上有 2 个 div,它们的宽度必须相同才能使 Cypress 场景通过。
我知道如何将宽度与静态值匹配,例如...
cy.get('[aria-label="div1"]').should('have.css', 'width', '150px');
cy.get('[aria-label="div2"]').should('have.css', 'width', '150px');
但是,我想比较 div1 和 div2 的宽度并确保它们相同 - 因为它不一定总是 150 像素。
我怎样才能做到这一点?
你可以这样做:
cy.get('[aria-label="div1"]')
.invoke('css', 'width')
.then((width1) => {
cy.get('[aria-label="div2"]')
.invoke('css', 'width')
.then((width2) => {
expect(width1).to.equal(width2)
})
})
您也可以 select 将两者放在一起并在一个函数中进行比较,
cy.get('[aria-label^="div"]')
.should($els => {
expect($els[0].style.width).to.eq($els[1].style.width)
})
我的 UI 上有 2 个 div,它们的宽度必须相同才能使 Cypress 场景通过。
我知道如何将宽度与静态值匹配,例如...
cy.get('[aria-label="div1"]').should('have.css', 'width', '150px');
cy.get('[aria-label="div2"]').should('have.css', 'width', '150px');
但是,我想比较 div1 和 div2 的宽度并确保它们相同 - 因为它不一定总是 150 像素。
我怎样才能做到这一点?
你可以这样做:
cy.get('[aria-label="div1"]')
.invoke('css', 'width')
.then((width1) => {
cy.get('[aria-label="div2"]')
.invoke('css', 'width')
.then((width2) => {
expect(width1).to.equal(width2)
})
})
您也可以 select 将两者放在一起并在一个函数中进行比较,
cy.get('[aria-label^="div"]')
.should($els => {
expect($els[0].style.width).to.eq($els[1].style.width)
})