Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

180
Vistas
¿Cómo puedo dividir texto y registrar el valor en Cypress?

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. ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Estás cerca, tienes que agregar un espacio en split(' ')

 "Ticket #502582".split(' ')[1] //You get #502582

O, 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 502582

Así 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 })
about 4 years ago · Juan Pablo Isaza Denunciar

0

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)
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda