【问题标题】:Cypress get element by aria roleCypress 通过 aria 角色获取元素
【发布时间】:2021-02-11 07:18:10
【问题描述】:
<form>
    <input type='text' name='user'/>
</form>

通过 aria 角色“文本框”获取输入元素。我尝试了许多不同的方法,但一切都以“未找到”的形式返回

cy.get('role=input')
cy.get('[role=input]')
cy.get('role="input")
cy.get('[role="input"])
cy.get('role=textbox')
cy.get('[role=textbox]')
cy.get('role="textbox")
cy.get('[role="textbox"])
cy.get('form[role="textbox"]')
cy.get('form[role=textbox]')

我尝试过其他的事情,比如大写角色。我从文档中了解到

cy.get('[role="textbox"]')

应该可以工作,但找不到返回。

从 dev-tools 可以看出它确实有这个作用

【问题讨论】:

  • [role="textbox"] 只有在它具有特定的属性角色时才会存在,不是吗?测试库按角色有选择器:testing-library.com/docs/cypress-testing-library/intro
  • 是的,但是输入框默认有文本框作为角色
  • 这个链接很有趣,我会看看这个

标签: cypress wai-aria


【解决方案1】:

【讨论】:

  • 是的,这将获得输入,我最终安装了@testing-library/cypress 并使用它的角色,但它也并不总是有效。所以我使用 cy.contains('role', 'text/title') 和 cy.findByRole('role', {name: })
猜你喜欢
  • 2015-12-20
  • 2023-02-02
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-17
相关资源
最近更新 更多