【发布时间】:2018-12-03 21:03:35
【问题描述】:
我们如何从一个普通的下拉列表框中选择所有options 并使用赛普拉斯验证它们?
<select id="cars_list">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
//The below test can check only for one option, how can we verify the rest?
describe("Select all values from drop down list", function() {
it("Cypress test and verify all options", function() {
cy.visit("Https://sometestingsite.com")
cy.get('#cars_list').then(function($select){
$select.val('volvo')
})
cy.get('select').should('have.value', 'volvo')
});
});
【问题讨论】:
-
你考虑过某种循环吗?但是,如果你选择一个值,那么测试它真的有价值吗?
-
也许错误的代码掩盖了问题——我认为测试是为了确认选项列表具有预期值——你能确认@soccerway 吗?
-
是的,我想确认
option list具有预期值。有人投了反对票,不知道为什么? -
很抱歉对您的代码发表了严厉的评论。您能否在 select 元素上显示 DOM?我想你可能会使用
cy.get('#cars_list').its('options').then(options => ...)之类的东西。 -
好的,DOM 与您已经展示的完全一样。也许
cy.get('#cars_list option').then(options => ...)适合?
标签: javascript cypress