gpt4 book ai didi

Cypress :获取包含给定字符串/正则表达式的所有元素

转载 作者:行者123 更新时间:2023-12-05 09:30:25 35 4
gpt4 key购买 nike

我正在尝试使用 cypress 测试分页栏。

我只想在这个栏中断言包含数字的按钮数量,而忽略其他按钮(上一页,下一页...)

按钮看起来像这样:

<button class="...">33</button>

我第一次尝试这个测试:

cy.get('.pagination')
.find('button')
.contains(/\d+/)
.should('have.length.gte', 2)

但这给了我一个警告,告诉我 contains 只会返回一个元素,这使得“长度”测试变得无用。

我还尝试了很多基于过滤器的组合,“:contains” jquery 关键字,但没有一个奏效:

.filter(`:contains('/\d+\')`) 
// >> finds nothing

.filter((elt) => { return elt.contains(rx) })
// >> throws 'elt.contains is not a function'

.filter((elt) => { return rx.test(elt.text()) })
// >> throws 'elt.text is not a function'

.filter(() => { return rx.test(Cypress.$(this).text()) })
// filter everything and return nothing, even the buttons containing the text '1'

最佳答案

带有回调的

.filter() 具有参数 (index, elt) => {} 这意味着您可以像这样使用它

cy.get('.pagination')
.find('button')
.filter((index, elt) => { return elt.innerText.match(/\d+/) })
.should('have.length.gte', 2)

关于 Cypress :获取包含给定字符串/正则表达式的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69628810/

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