如何使用赛普拉斯在特定的HTML <select>字段中选择一个<option>?

时间:2019-05-18 17:09:09

标签: javascript testing automation cypress

我想从下面的HTML代码中选择选项。 timeentry_lov1是Select Name,它是Page中具有相同名称的第二个元素。我还检查了页面中是否没有框架。 但是赛普拉斯中是否有硒等框架概念?如果没有,那么如何使用“选择”属性? HTML: ] 1 我尝试过的以下Select语句: cy.get('timeentry_lov1',{timeout:60000})。eq(1).select('NB-860')。debug(); cy.get('timeentry_lov1')。eq(1).select('NB-860-Test Automation'); cy.select('timeentry_lov1',{timeout:7000})。eq(1).should('have.value','NB-860'); cy.find('timeentry_lov1')。get('select')。select('NB-860');

1 个答案:

答案 0 :(得分:1)

要在页面中查找名称等于“ <select>”的所有timeentry_lov1元素,请使用CSS selector过滤name属性,如下所示:< / p>

cy.get('select[name="timeentry_lov1"]')

要仅选择 second <select>标签,可以使用:nth-of-type(2)仅选择找到的第二个元素:

cy.get('select[name="timeentry_lov1"]:nth-of-type(2)')

现在,要实际选择元素,只需将cy.select()与要选择的value的{​​{1}}一起使用:

<option>

这应该可以完成您想要做的事情。


提示:您可以使用赛普拉斯的Selector Playground帮助您找到要在测试中使用的良好CSS选择器。查看文档以获取有关其工作原理的视频。