柏树有没有办法容纳 cy.get(`[data-cy="${test}"]`).filter(':visible') 和 cy.get(`[data-cy= "${test}"]`) 在单个代码中?
Is there a way in cypress to accomodate cy.get(`[data-cy="${test}"]`).filter(':visible') and cy.get(`[data-cy="${test}"]`) in a single code?
我有这样的代码
cy.get(`[data-cy="${test}"]`).filter(':visible').click({force: true})
它适用于某些测试,但对于某些没有“过滤器”的元素,并且那些没有 .filter(':visible') 的元素也能工作,所以我试图在单个代码中容纳这两个函数以使其通用各种按钮。有办法吗?
我尝试了以下几个步骤:
cy.get(`[data-cy="${test}"]`).filter(':visible'|| ':hidden').click({force: true})
不确定它是对还是错,但它的定义不起作用!!
如果您使用 {force: true}
那么元素是可见还是隐藏都没有关系,cypress 会点击它。所以在我看来你不需要过滤器选项。
cy.get(`[data-cy="${test}"]`).click({force: true})
或者,如果您想直接在 .filter
中应用 OR 条件,您可以这样做:
cy.get(`[data-cy="${test}"]`).filter(':visible,:hidden').click({force: true})
或者,如果您想使用 If-Else,您可以这样做:
cy.get(`[data-cy="${test}"]`).then(($ele) => {
if ($ele.filter(':visible')) {
cy.wrap($ele).click()
} else if ($ele.filter(':hidden')) {
cy.wrap($ele).click({force: true})
}
})
我有这样的代码
cy.get(`[data-cy="${test}"]`).filter(':visible').click({force: true})
它适用于某些测试,但对于某些没有“过滤器”的元素,并且那些没有 .filter(':visible') 的元素也能工作,所以我试图在单个代码中容纳这两个函数以使其通用各种按钮。有办法吗?
我尝试了以下几个步骤:
cy.get(`[data-cy="${test}"]`).filter(':visible'|| ':hidden').click({force: true})
不确定它是对还是错,但它的定义不起作用!!
如果您使用 {force: true}
那么元素是可见还是隐藏都没有关系,cypress 会点击它。所以在我看来你不需要过滤器选项。
cy.get(`[data-cy="${test}"]`).click({force: true})
或者,如果您想直接在 .filter
中应用 OR 条件,您可以这样做:
cy.get(`[data-cy="${test}"]`).filter(':visible,:hidden').click({force: true})
或者,如果您想使用 If-Else,您可以这样做:
cy.get(`[data-cy="${test}"]`).then(($ele) => {
if ($ele.filter(':visible')) {
cy.wrap($ele).click()
} else if ($ele.filter(':hidden')) {
cy.wrap($ele).click({force: true})
}
})