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

127
Vistas
How to retrieve a random value from an array that has values separate by a new line

I am a complete newbie at JS and currently using it in a testing capacity along with the Karate framework to perform some UI testing. I am having the following problem:

There is a dropdown that has the following 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>

I used the following Karate method to get all text values under the dropdown:

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

Once printed, the array look like this:

[
  "Mercedes\nBMW\nLexus\nHonda\nToyota\nVW\n"
]

console.log(Math.floor(Math.random() * (grabValues.length-1)))

When printed, it keeps giving me 0.0. I am assuming this is because the array contains new lines vs comma delimitated? If so, how can I get rid of the new lines and replace with commas?

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

0

What you want is to get the text from each <option>

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

This will give you an array of text values like

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

To get a random index you would use

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

0

One line code is console.log(myArr[0].split('\n'))

OR

Let's assume : The array of String is stored in myArr

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

To get the string from the array

let stringOfArr = myArr[0]

Storing the new array from the stringOfArr deleminated by '\n' in newArray

let newArray = stringOfArr.split('\n')

console.log(newArray)
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