我有一个没有值属性但只有文本的select
标签。如何验证选择框中显示的选项列表(在本例中为文本(。
<select id="market-select" onchange="updatePageDataForMarket()">
<option>Dallas-Fort Worth</option>
<option>El Paso</option>
<option>San Antonio</option>
</select>
我假设你的意思是验证选择中的每个选项文本。如果是这样,您可以这样做:
const selectListOptions = ['Dallas-Fort Worth', 'El Paso', 'San Antonio'];
selectListOptions.forEach(item => cy.contains('#market-select', item));
您可以尝试手动触发输入事件/更改事件,因为这些是它唯一支持的
如果要确保项目顺序正确并且文本字符串完全匹配,则可以执行以下操作:
const selectListOptions = ['Dallas-Fort Worth', 'El Paso', 'San Antonio'];
cy.get('#market-select option').each(($el, index) =>
cy.wrap($el).should('have.text', selectListOptions[index])
);