如何在赛普拉斯中使用灯具列表断言列表

Posted

技术标签:

【中文标题】如何在赛普拉斯中使用灯具列表断言列表【英文标题】:How to assert list with fixtures list in Cypress 【发布时间】:2021-12-23 01:18:29 【问题描述】:

我在 fixtures 目录中有 Toolbar.json。在那个 json 文件中,我有一个列表


"toolbar_elements": [

    "Contact",
    "Language",
    "About",
    "Privacy"
]

我有一个带有主菜单的网站,其中包含这 4 个元素。

<div class="mainMenu">
  <ul>
     <li>
       <a>Contact</a>
     </li>
     <li>
       <a>Language</a>
     </li>
     <li>
       <a>About</a>
     </li>
     <li>
       <a>Privacy</a>
     </li>
   </ul>
 </div>

我想断言,不知道怎么做。

cy.get('[class="mainMenu"]').find('li').should('have.length', 4)

这通过了。如何检查 Toolbar.json 中的列表是否与 mainMenu 中的相同?

谢谢

【问题讨论】:

【参考方案1】:

你可以这样做:

cy.fixture('Toolbar.json').then((toolbar) => 
  cy.get('.mainMenu ul li a').each(($ele, index) => 
    expect(toolbar.toolbar_elements[index]).to.equal($ele.text().trim())
  )
)

【讨论】:

非常感谢:)

以上是关于如何在赛普拉斯中使用灯具列表断言列表的主要内容,如果未能解决你的问题,请参考以下文章

赛普拉斯条件断言

赛普拉斯断言文本

赛普拉斯在开玩笑断言中导致类型错误

如何期望日期包含赛普拉斯中的另一个日期?

有没有办法断言赛普拉斯没有调用路由?

.should('exist') 断言在赛普拉斯上是多余的吗?