我现在正在进行一项测试,该测试检查单击某个dom元素后dom元素(前面板)的类名是否更改。我获取“前面板”的初始类名称,然后单击必要的dom元素,然后再次查询“前面板”类名称。尽管我可以在浏览器中清楚地看到一个不同的类名,但是赛普拉斯再次返回了Front Panel的初始类名。我在这里想念什么?
it('Changes Panel Background Color', () => {
cy.get('#Front_panel')
.invoke('attr', 'class')
.then(prevClassName => {
cy.get('#color_picker')
.children()
.first()
.children()
.first()
.children()
.first()
.children()
.first()
.children()
.first()
.click()
cy.get('#Front_panel')
.invoke('attr', 'class')
.then(newClassName => {
assert(prevClassName !== newClassName)
})
})
})
顺便说一句,我知道这可能不是赛普拉斯的最佳做法;)
答案 0 :(得分:0)
在我的案例中,我有一个对这种行为运行良好的测试,用于检查模态显示是否正常。试试这个:
cy.log('has a info button');
cy.get('.home-header-info-button').click();
cy.get('.modal-header').should('contain', 'Health Details');
cy.get('.modal-body-health-info-name').should('contain', 'Tony');
cy.get('.modal-body-health-info-operator').should('contain', 'Doctor');
cy.get('.modal-body-info').should('be.visible');
cy.get('.modal-body-image').should('be.visible');
cy.get('.modal-footer').should('be.visible');
cy.get('.modal-header-close').click();
cy.get('.modal-header').should('not.exist');
一种更好的做法是导航到您的班级名称,因为对于下次阅读此测试的人来说,它更具描述性和可读性。