如何在柏树测试期间根据标签检查Mat-Checkbox?

发布于 2025-02-12 11:06:18 字数 273 浏览 0 评论 0原文

是否可以根据其标签文本在柏树测试中检查Mat-Checkbox

以下是复选框的html:

​重复使用代码来执行类似的操作 - 当我检查“高级搜索”复选框

Is it possible to check a mat-checkbox in a Cypress test based on it's label text?

Below is the HTML for the checkbox:

enter image description here

I have several checkboxes to test, so I want to re-use code to do something like -
When I check the 'Advanced search' checkbox, When I check the 'Basic search' checkbox, etc.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

嘿嘿嘿 2025-02-19 11:06:18

可以使用简单.contains()的标签文本访问< mat-checkbox>,但是您必须使用.click() 而不是.check()

cy.contains('mat-checkbox', 'Advanced search')
  .click()

使用.check()给您错误

< input>由另一元素< label>

覆盖

The <mat-checkbox> can be accessed by label text with a simple .contains(), but you must use .click() instead of .check().

cy.contains('mat-checkbox', 'Advanced search')
  .click()

Using .check() gives you the error

<input> is being covered by another element <label>

怎言笑 2025-02-19 11:06:18

如果label仅保留高级搜索的复选框,则可以使用 .contains() label作为选择器,以及复选框,然后.find()要检查的复选框。

// this will get label element
cy.contains('label', /advanced search/i)
  // this will get checkbox input
  .find('input[type=checkbox]')
  .check()

这是一个工作

If the label only holds one check box for Advanced search, then you can use .contains() with label as the selector along with text of the checkbox, then .find() the checkbox to check.

// this will get label element
cy.contains('label', /advanced search/i)
  // this will get checkbox input
  .find('input[type=checkbox]')
  .check()

Here is a working example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文