首页 > 解决方案 > 赛普拉斯调用('removeAttr','target')不起作用

问题描述

这是我的柏树代码:

 cy.get(`${sitestovisit.searchBoxFormID} > form`)
   .should('have.attr', 'target')<br>
   .invoke('removeAttr', 'target')

sitestovisit.searchBoxFormId包含来自 JSON 的数据及其正常工作,但它显示表单中有一个目标属性,但是当我尝试删除它时,它不起作用。

当我将上面的代码替换为:

 cy.get('#booking_search > form')
  .invoke('removeAttr', 'target')

它工作正常,有什么问题?我不能直接使用,因为我需要在循环中使用 这是输出

标签: javascripttestingcypressend-to-end

解决方案


.should('have.attr', 'target')失败是因为您在此调用之前 有此断言.invoke('removeAttr', 'target')

这会起作用

 cy.get(`${sitestovisit.searchBoxFormID} > form`)
   .invoke('removeAttr', 'target')

而且..如果您需要在删除它之前查看目标属性是否存在,我会这样做。

  cy
      .get(`${sitestovisit.searchBoxFormID} > form`)
      .should('have.attr', 'target')

  cy
       .get(`${sitestovisit.searchBoxFormID} > form`)
       .invoke('removeAttr', 'target')

推荐阅读