这是我的Cypress代码:
cy.get(`${sitestovisit.searchBoxFormID} > form`)
.should('have.attr', 'target')<br>
.invoke('removeAttr', 'target')
sitestovisit.searchBoxFormId
包含来自JSON的数据,并且其工作正常,但它显示表单中有一个目标属性,但当我试图删除它时,它不起作用。
当我将上面的代码替换为:
cy.get('#booking_search > form')
.invoke('removeAttr', 'target')
工作正常,有什么问题吗?我不能直接使用,因为我需要它在循环Here's the output
3条答案
按热度按时间kgsdhlau1#
因为在调用
.invoke('removeAttr', 'target')
之前有这个Assert.should('have.attr', 'target')
。.should('have.attr', 'target')
将subject从元素更改为属性,但.invoke('removeAttr', 'target')
要求subject必须是元素才能工作。这会有用的
如果你需要在删除目标属性之前查看它是否存在,我会这样做。
ruoxqz4g2#
我会在元素yield上使用then语句,通过cy.get:
bvuwiixz3#
在Github线程中找到了这个解决方案。它应该在您单击链接之前添加。