我正在使用赛普拉斯进行测试。我想确保在页面上时收集到某些数据,但是不会在html中显示。为此,我添加了隐藏的html元素,如下所示:

<div class="hidden">
    <p id="c.campaign">3005</p>
</div>


现在,我想使用赛普拉斯测试来确保页面上保存了一个广告系列。这是我到目前为止所拥有的:

cy.get('#c.campaign').should('not.be.visible').invoke('text').then((text) => {
    cy.log(text)
})


不可见的元素是必需的,因为它隐藏了元素,否则找不到它。应该记录3005,但是什么也没有出现。
javascript - 如何使用 Cypress 控制台元素中的文本?-LMLPHP

最佳答案

原来问题是我的班级以“。”命名。我相信这打破了jQuery文本功能。我将班级更改为这种格式

<p id="test-campaign">3005</p>


现在此代码有效。

  cy.get('#test-campaign')
    .should('not.be.visible')
    .invoke('text').then((text) => {
      campaign = text
      cy.log('campaign',  text)
    })

09-04 05:56
查看更多