Math Cypress如何在函数中使用页面上的元素数
我是cypress的新手,正在尝试通过将我们当前的一些行为测试转换为cypress来学习它。我们的一个场景检查网站多个“列表”页面上的文章链接,步骤定义为“我点击随机文章” 这个步骤定义Math Cypress如何在函数中使用页面上的元素数,math,random,gherkin,cypress,Math,Random,Gherkin,Cypress,我是cypress的新手,正在尝试通过将我们当前的一些行为测试转换为cypress来学习它。我们的一个场景检查网站多个“列表”页面上的文章链接,步骤定义为“我点击随机文章” 这个步骤定义 获取页面上的文章链接数 将其用作随机数范围的上限 然后使用该随机数来定位相应的文章链接 使用cypress和cucumber插件,我有了这个半成品 Then(/^I click on a random article$/, () => { let num = Math.floor(Math.rand
- 获取页面上的文章链接数
- 将其用作随机数范围的上限
- 然后使用该随机数来定位相应的文章链接
Then(/^I click on a random article$/, () => {
let num = Math.floor(Math.random() * 10)
cy.get(‘.article_link’)
.eq(num).click()
})
问题是页面上的文章数量可能会有所不同,但我没有找到一种方法将这些不同数量的文章传递给数学函数,而是使用“半”安全上限10。您可以使用.its('length')
获取从.get()
调用返回的元素数量
我认为这将满足您的需求:
cy.get(‘.article_link’).its('length').then(numLinks => {
let num = Math.floor(Math.random() * numLinks)
cy.get(‘.article_link’)
.eq(num)
.click()
})