我的HTML中有一个元素,其中包含一个复选框;就像(实际的输出会有点复杂,因为我们使用的是React + Material UI。但这是一般的想法,一个“容器”中只有一个复选框)
<span class="..." cy-data="checkbox-container">
...
<checkbox ... />
</span>
此刻,我正在使用此复选框:
cy.get('[data-cy=checkbox-container]').within(() => {
cy.get('[type="checkbox"]').check();
})
有写这个的更短方法吗?
cy.get('[data-cy=checkbox-container]').get('[type="checkbox"]')
返回整个文档中找到的第一个复选框;不是checkbox-container
下的那个。
cy.get('[data-cy=checkbox-container] > [type="checkbox"]')
引发“未找到”错误。
答案 0 :(得分:2)
您已经接近第一个解决方案,您可以实际使用find()
来搜索上一个搜索结果中的元素。所以看起来像这样:
cy.get('[data-cy=checkbox-container]')
.find('[type="checkbox"]')
答案 1 :(得分:0)
我认为您的值在复选框中不是动态的,在这种情况下,您可以使用
cy.get('[type="checkbox"]').check(['name']) right?
您尝试过吗?还是您尝试不同的东西?如果可以的话,您能再解释一下吗?
干杯