Estoy intentando dividir el texto que se imprime en la aplicación web y registrar solo el valor en cypress. Solo necesito el número del mensaje de texto. Pero parece estar atascado porque el valor no se imprime (los registros están vacíos) ya que no se reconoce. Intenté varios enfoques pero todavía no puedo imprimirlo. Pensé que como necesito el valor numérico, Cypress no reconoce el número ya que lo especifiqué como texto. Pero incluso trato de invocar 'val'. El resultado parece el mismo.
cy.get('#__label14-bdi').invoke('text').then((text) => { cy.log(text) var splittext= text.split('')[1]; cy.log(splittext); Del código anterior se imprime la letra 'i'. Aquí hay un ss del texto de la aplicación web. 
Estás cerca, tienes que agregar un espacio en split(' ')
"Ticket #502582".split(' ')[1] //You get #502582O, si desea eliminar los caracteres especiales de la cadena de números, puede hacerlo:
"Ticket #502582".split(' ')[1].replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, ''); //You get 502582 O, si solo desea eliminar # , puede
"Ticket #502582".split(' ')[1].replace(/#/g, '') //You get 502582Así que su programa debería gustarle esto:
cy.get('#__label14-bdi') .invoke('text') .then((text) => { cy.log(text) //logs Ticket #502582 var splittext = text.split(' ')[1].replace(/#/g, '') cy.log(splittext) //logs 502582 as string cy.log(+splittext) //logs 502582 as Number })Puede ser más fácil usar una expresión regular
cy.get('#__label14-bdi').invoke('text') .then((text) => { return text.match(/\d+/)[0] // extract digits from text (first match) }) .should('eq', '502582')como un numero
cy.get('#__label14-bdi').invoke('text') .then(text => text.match(/\d+/)[0]) // extract digits (first match) .then(parseInt) .should('eq', 502582) Usando .split() , tenga en cuenta el () adicional para agrupar
cy.get('#__label14-bdi').invoke('text') .then(text => text.split(/(\d+)/)[1]) // 2nd part of split .then(parseInt) .should('eq', 502582)