Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

181
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda