如何使用赛普拉斯控制台元素中的文本?

时间:2019-04-25 21:54:49

标签: javascript testing cypress

我正在使用赛普拉斯进行测试。我想确保在页面上时收集到某些数据,但是不会在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 ,但是什么也没有出现。 failed test

1 个答案:

答案 0 :(得分:1)

原来的问题是我的班级以“。”命名。我相信这打破了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)
    })