material-ui - Cypress mat-select 选择命令失败

标签 material-ui cypress

尝试使用 Cypress 测试选择控件。我找到了.select(option)命令看起来很简单,但无法让它工作

这是我的表格:

<form>
  <mat-form-field appearance="fill">
    <mat-label>Food ingredients</mat-label>
    <mat-select [(ngModel)]="selectedValue" name="food">
      <mat-option *ngFor="let food of foods" [value]="food.value">
        {{food.viewValue}}
      </mat-option>
    </mat-select>
  </mat-form-field>
</form>

这是我的测试:

cy.get('mat-select').click()
  .select('Cauliflower')

但它抛出错误“cy.select()只能在 <select> 上调用”

最佳答案

Angular mat-select 不正常 <select>元素,您不能使用 .select()命令。

使用.click()相反

cy.get('mat-select').click()
cy.contains('mat-option', 'Cauliflower').click()   

这是运行时 HTML

<div class="mat-select-panel-wrap">
  <div role="listbox">
    <mat-option role="option">
      <span class="mat-option-text"> Cabbage </span>
    </mat-option>
    <mat-option role="option">
      <span class="mat-option-text"> Cauliflower </span>
    </mat-option>
    <mat-option role="option">
      <span class="mat-option-text"> Capsicum </span>
    </mat-option>
  </div>
</div>

关于material-ui - Cypress mat-select 选择命令失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72891361/

相关文章:

reactjs - Material-UI 无图像时显示字母头像

html - 导入特定 Material 图标

docker - Bitbucket管道,我如何访问另一个容器?

javascript - Cypress.screenshot 停电 svg 元素

javascript - 如何获取元素嵌套项

javascript - 预输入/预测测试功能遇到问题

angular - 更新到 Angular 8 后,Material-UI 下拉菜单导致 IE11 出现错误

reactjs - 如何在性能损失很小的情况下包装 React 组件?

javascript - 如何在出现错误时不停止地检查 cypress 中的所有链接

javascript - 如何在cypress中将csv转换为JSON