我正在尝试以更语义化的方式使用反应测试库选择搜索输入。我用type=search
标记输入,我希望能够做这样的事情:
cy.findByRole('search').click().clear().type(content);
但是类型失败,因为没有包含角色搜索的元素。这是一种限制吗?还是应该放在另一个地方?例如在包装表单中?目前的搜索输入仅仅是一个触发搜索查询的孤立输入。
如果元素没有明确的角色属性,
<input type="search">
要使用的角色是searchbox
cy.findByRole('searchbox').click().clear().type(content); // passes
如果您想使用命令findByRole
,那么您必须将您的输入标记为role="search"
,然后下面的命令应该工作-
cy.findByRole('search').click().clear().type(content);