Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

125
Views
Cómo recuperar un valor aleatorio de una matriz que tiene valores separados por una nueva línea

Soy un completo novato en JS y actualmente lo uso en capacidad de prueba junto con el marco de Karate para realizar algunas pruebas de interfaz de usuario. Tengo el siguiente problema:

Hay un menú desplegable que tiene el siguiente HTML:

 <select class=id="CarId" name="CarId" aria-describedby="CarId-error" aria-invalid="false" xpath="1"> <option value="1">Mercedes</option> <option value="2">BMW</option> <option value="3">Lexus</option> <option value="4">Honda</option> <option value="5">Toyota</option> <option value="6">VW</option> </select>

Usé el siguiente método de Karate para obtener todos los valores de texto en el menú desplegable:

 def grabValues = scriptAll('#CarId', '_.textContent')

Una vez impresa, la matriz se ve así:

 [ "Mercedes\nBMW\nLexus\nHonda\nToyota\nVW\n" ] console.log(Math.floor(Math.random() * (grabValues.length-1)))

Cuando se imprime, me sigue dando 0.0. ¿Supongo que esto se debe a que la matriz contiene nuevas líneas frente a las delimitadas por comas? Si es así, ¿cómo puedo deshacerme de las nuevas líneas y reemplazarlas con comas?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Lo que quieres es obtener el texto de cada <option>

 def grabValues = scriptAll('#CarId option', '_.textContent')

Esto le dará una serie de valores de texto como

 ["Mercedes","BMW","Lexus","Honda","Toyota","VW"]

Para obtener un índice aleatorio, usaría

 Math.floor(Math.random() * grabValues.length)
about 4 years ago · Juan Pablo Isaza Report

0

El código de una línea es console.log(myArr[0].split('\n'))

O

Supongamos: la matriz de String se almacena en myArr

 let myArr = ["ABC\nDEF\nGHI\nJKL\nMNO\nPQR\nSTU\nVWX\nYZA\n"]

Para obtener la cadena de la matriz

 let stringOfArr = myArr[0]

Almacenar la nueva matriz de stringOfArr delimitada por '\n' en newArray

 let newArray = stringOfArr.split('\n') console.log(newArray)
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!