赛普拉斯:如何计算按钮数量

Posted

技术标签:

【中文标题】赛普拉斯:如何计算按钮数量【英文标题】:Cypress: How to count number of buttons 【发布时间】:2021-05-21 10:37:58 【问题描述】:

您好,我想计算特定标签内的按钮数量 如何打印按钮的总和?

我试过了

cy.log(cy.get('dropdown').find('button').count())

但它不起作用

【问题讨论】:

【参考方案1】:

您可以使用.its获取长度:

cy.get('dropdown').find('button').its('length').should('eq', 4)

或者,你也可以像这样得到长度:

cy.get('dropdown').find('button').its('length').then((len) => 
    cy.log('No. of buttons are: ' + len)
)

【讨论】:

谢谢它的工作✌你能解释一下你在第二个答案中做了什么吗? .its 获取先前产生的主题的属性值。现在要使用它生成的值,我们需要使用then,它使您能够使用上一个命令产生的主题。 如何将长度保存在变量中? 在里面然后你可以将变量保存为var buttonLen = len,但它的范围将在then()里面。如果你想有一个全局范围,把它写在var buttonLen = 0之外,然后在里面更新它的值。 我试过了,当我在它说它仍然具有初始化值 (0) 的范围之外打印 var 时,它没有将更新后的值保存在其内部范围内 【参考方案2】:

您可以使用别名保存计数

cy.get('dropdown').find('button').its('length').as('buttonCount')

... // more actions e.g add a button

cy.get('@buttonCount').then(previousCount => 
  cy.get('dropdown').find('button').its('length')
    .should('be.gt', previousCount)
)

【讨论】:

以上是关于赛普拉斯:如何计算按钮数量的主要内容,如果未能解决你的问题,请参考以下文章

赛普拉斯 - 检查按钮是不是存在,如果存在则单击它

赛普拉斯 IO- 编写 For 循环

如何使用赛普拉斯检查可能不存在的元素

赛普拉斯 - 如何验证文件是不是已下载?

赛普拉斯:如何使用键盘事件

访问新网址赛普拉斯