赛普拉斯 - select 另一个元素中的元素 - select 或 `within` 的语法快捷方式
Cypress - select element within another element - selector syntax shortcut for `within`
我的 HTML 中有一个元素包含一个复选框;类似的东西(实际输出有点复杂,因为我们使用的是 React + Material UI。然而,这是一般的想法,一个 'container' 其中只有一个复选框):
<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"]')
returns 在完整文档中找到的第一个复选框;不是 checkbox-container
.
下的那个
cy.get('[data-cy=checkbox-container] > [type="checkbox"]')
引发 "not found" 错误。
我认为您的值在复选框中不是动态的,在这种情况下,您可以使用
cy.get('[type="checkbox"]').check(['name']) right?
你试过吗?或者你正在尝试不同的东西?如果是这样,你能再解释一下吗?
干杯,
您已经接近第一个解决方案,您实际上可以为此使用 find()
,即在先前的搜索结果中搜索元素。所以它看起来像这样:
cy.get('[data-cy=checkbox-container]')
.find('[type="checkbox"]')
这样的东西行得通吗?
cy.get('.checkbox:contains("checkbox-container")').within(() => {
cy.get('[type="checkbox"]').check();
});
它显然与您发布的代码非常相似,但我最近使用 selector:contains("specificThingImLookingFor")
来摆脱困境。
来自这里:https://glebbahmutov.com/cypress-examples/6.5.0/commands/querying.html#jquery-selectors
我的 HTML 中有一个元素包含一个复选框;类似的东西(实际输出有点复杂,因为我们使用的是 React + Material UI。然而,这是一般的想法,一个 'container' 其中只有一个复选框):
<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"]')
returns 在完整文档中找到的第一个复选框;不是 checkbox-container
.
cy.get('[data-cy=checkbox-container] > [type="checkbox"]')
引发 "not found" 错误。
我认为您的值在复选框中不是动态的,在这种情况下,您可以使用
cy.get('[type="checkbox"]').check(['name']) right?
你试过吗?或者你正在尝试不同的东西?如果是这样,你能再解释一下吗?
干杯,
您已经接近第一个解决方案,您实际上可以为此使用 find()
,即在先前的搜索结果中搜索元素。所以它看起来像这样:
cy.get('[data-cy=checkbox-container]')
.find('[type="checkbox"]')
这样的东西行得通吗?
cy.get('.checkbox:contains("checkbox-container")').within(() => {
cy.get('[type="checkbox"]').check();
});
它显然与您发布的代码非常相似,但我最近使用 selector:contains("specificThingImLookingFor")
来摆脱困境。
来自这里:https://glebbahmutov.com/cypress-examples/6.5.0/commands/querying.html#jquery-selectors