【问题标题】:Using Cypress drop down select values are not happening使用赛普拉斯下拉选择值没有发生
【发布时间】:2019-08-15 07:36:04
【问题描述】:

如何使用 Cypress 选择 dropdown 值,它是建立在角度页面上的。默认情况下,选择字段显示如下。第一个选项点击下拉但没有值,我试过 eq(1), eq(2)..但还不行。

我在 cypress 中尝试了以下选项,但这些都不起作用;

选项:1

cy.get('.mat-select-value > span').eq(0).then((option)=>{
  cy.wrap(option).eq(0).click();
})

选项 2:

cy.get('.mat-select-value > span').contains("Phase 4 - Boond ").click();

//附上html:

【问题讨论】:

  • 哪部分不起作用? 1. 打开下拉菜单? 2. 选择想要的选项?如果是第一个,则您单击了不正确的元素。您需要点击触发下拉菜单打开的元素。
  • 第一个选项是打开下拉菜单但不选择值
  • @Mr.J.选项1打开下拉淹没选择框,但它不选择值。

标签: cypress


【解决方案1】:

你可能想试试这个:

cy.get('.mat-select-value > span').eq(0).click() // to open the drop down
cy.get('.mat-option').contains('Phase 4 - Boond').click() // to click the actual option

【讨论】:

  • 上面写着mat-select-panel-wrap', but never found it.
  • 嗯,您可以将第一行替换为您已经用来打开下拉菜单的行。第二行是应该解决你的问题的东西
  • ` cy.get('.mat-select-value > span').eq(0).click().then((option) => { // 点击后,mat-select应包含所选选项的文本 cy.get('.mat-option').contains('Phase 4 - Boond').click() });`
  • 运气不好:重试超时:预期找到元素:mat-option,但从未找到。
【解决方案2】:

有时 click() 不能按预期工作,在这种情况下,您也可以尝试使用 trigger('click) 进行选项选择。

喜欢:

cy.get('your-selector').trigger('click')

【讨论】:

    猜你喜欢
    • 2021-12-27
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    相关资源
    最近更新 更多