要素:
<input
type="number"
placeholder="Duration"
aria-label="duration"
/>
测试:
const input = screen.getByRole('textbox', {
name: /duration/i,
});
当我将输入类型设置为"text“时,元素就会被找到,但是当我将类型设置为"number”时,它会失败。请对输入类型为"number“的输入元素的适当角色是什么?
发布于 2022-06-08 11:02:00
类型为input
的number
元素的角色是spinbutton
。
所以你的代码应该是:
const input = screen.getByRole("spinbutton", {
name: /duration/i
});
通常,当testing-library
找不到角色时,它会在测试失败后显示可能的角色,如下所示:
Unable to find an accessible element with the role "textbox" and name `/duration/i`
Here are the accessible roles:
spinbutton:
或者,如果您仍然不确定,您可以检查某些元素这里的可能角色(例如,输入元素->隐式ARIA角色项)。
https://stackoverflow.com/questions/72542693
复制相似问题