Извлечение частей текста в Cypress - PullRequest
1 голос
/ 20 мая 2019

Я новичок в Cypress, и мне нужно извлечь динамическую часть текста из моего приложения.

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

В этом примере мне нужно извлечь 9123 из div, чтобы использовать его позже в моих тестах. Есть идеи, как мне это сделать?

Ответы [ 2 ]

1 голос
/ 22 мая 2019

Сначала вы можете попытаться получить full text из div, используя метод 'invoke', и используйте RegExp и match в javascript для получения числа из текста:

cy.get('div').invoke('text')
.then((text)=>{ 
    var fullText = text;
    var pattern = /[0-9]+/g;
    var number = fullText.match(pattern);
    console.log(number);
   })
0 голосов
/ 21 мая 2019

Мне пришлось сделать несколько предположений: 1. Номер, который вы хотите получить, всегда находится в конце строки 2. Предложение, содержащее число, всегда делится пробелами. Если эти предположения верны, это должно сработать:

let divNumber = ''
    cy.get('div')
      .then(number => {
        divNumber = number
          .text()
          .split(' ')
          .pop()
        cy.get('div')
          .should('contain', divNumber)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...