在赛普拉斯中提取文本的一部分

时间:2019-05-20 15:18:58

标签: javascript testing cypress

我是Cypress的新手,我需要从我的应用程序中提取文本的动态部分。

<body>
<div>Hello World greeting number 9123</div>
</body>

在此示例中,我需要从div中提取9123,以便稍后在测试中使用。知道我该怎么做吗?

2 个答案:

答案 0 :(得分:1)

首先,您可以尝试使用“调用”方法从full text获取div,并在javascript中使用RegExpmatch从文本中获取数字:

cy.get('div').invoke('text')
.then((text)=>{ 
    var fullText = text;
    var pattern = /[0-9]+/g;
    var number = fullText.match(pattern);
    console.log(number);
   })

答案 1 :(得分:0)

我必须做一些假设:  1.您要检索的号码始终在行尾  2.包含数字的句子始终以空格分隔。 如果这些假设是正确的,那么它应该起作用:

let divNumber = ''
    cy.get('div')
      .then(number => {
        divNumber = number
          .text()
          .split(' ')
          .pop()
        cy.get('div')
          .should('contain', divNumber)