如何使用 Cypress 删除 "selected" 属性并将其移动到另一个选项?
How to remove the "selected" Attribute and move it to another option using Cypress?
我试过:
cy.get(`div[class="input-group input-group-sm"] select[name="activeStatus"]`).find(":selected").invoke("removeAttr", "selected")
这并没有像我希望的那样起作用,但我认为它是最接近它的。有人有任何提示吗?我想将“Selected”属性从 Active 移动到 Cancelled。
你已经完成了一半,移除部分成功了。要将 selected
添加到 Cancelled
,请调用 attr
// remove
cy.get('select')
.find(':selected')
.should('contain', 'Active')
.invoke('removeAttr', 'selected')
// add
cy.get('select')
.find('option')
.contains('Cancelled')
.invoke('attr', 'selected', true)
//confirm
cy.get('select')
.find(':selected')
.should('contain', 'Cancelled')
这给了你
<option selected="selected">Cancelled</option>
如果你喜欢
<option selected>Cancelled</option>
改用这个
// add
cy.get('select')
.find('option')
.contains('Cancelled')
.then($el => $el[0].setAttribute('selected', ''))
我试过:
cy.get(`div[class="input-group input-group-sm"] select[name="activeStatus"]`).find(":selected").invoke("removeAttr", "selected")
这并没有像我希望的那样起作用,但我认为它是最接近它的。有人有任何提示吗?我想将“Selected”属性从 Active 移动到 Cancelled。
你已经完成了一半,移除部分成功了。要将 selected
添加到 Cancelled
,请调用 attr
// remove
cy.get('select')
.find(':selected')
.should('contain', 'Active')
.invoke('removeAttr', 'selected')
// add
cy.get('select')
.find('option')
.contains('Cancelled')
.invoke('attr', 'selected', true)
//confirm
cy.get('select')
.find(':selected')
.should('contain', 'Cancelled')
这给了你
<option selected="selected">Cancelled</option>
如果你喜欢
<option selected>Cancelled</option>
改用这个
// add
cy.get('select')
.find('option')
.contains('Cancelled')
.then($el => $el[0].setAttribute('selected', ''))