gpt4 book ai didi

javascript - Cypress 在第一次出现时停止

转载 作者:行者123 更新时间:2023-11-30 19:41:34 26 4
gpt4 key购买 nike

当我针对该 HTML 代码运行测试时

<body>
<div tester='notmatching'>
foo
</div>
<div tester='matching'>
bar
</div>
</body>

</html>

Cypress 不会超越第一个“div”。

这是我的测试:

context('Home', () => {
beforeEach(() => {
cy.visit('http://example.org')
})
it('Find a div', () => {
cy.get('div').should('have.attr', 'tester', 'matching')
})
})

Si 我收到以下错误:

CypressError: Timed out retrying: expected '[ <div>, 1 more... ]' to have attribute 'tester' with the value 'matching', but the value was 'notmatching'

所以当我放行时:

cy.get('div').should('have.attr', 'tester', 'notmatching')

有效。

我做错了什么?

最佳答案

我认为您必须使用 eq 定位第二个匹配元素:

cy.get('div').eq(1).should('have.attr', 'tester', 'matching')

https://docs.cypress.io/api/commands/eq.html#Syntax

编辑:

如果你想遍历它们并检查每一个,你可以这样做:

cy
.get('div')
.each(($el, index, $list) => {
if ($el.attr('tester') === 'matching') {
// do something here

编辑 2:

如果您只想将 div 与该属性匹配 - 您可以这样做:

cy.get("div[tester='matching']").should(...

关于javascript - Cypress 在第一次出现时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55329597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com