No se puede utilizar el bucle ForEach para iterar los valores del arreglo dentro de un caso de prueba utilizando Nightwatch.
const namesArray = ["Rojo", "Azul", "Naranja"]
module.exports = {
'Eliminar todos los elementos' (navegador){
namesArray.forEach(miFuncion);
console.log("ingresado") // no se imprime en la consola.
function miFuncion(valor){
navegador
.useXpath().click(`//span[text() = "${valor}"]`)
//resto del código
}
}
}
Estoy usando Nightwatch para automatizar la UI.
Primera consulta: quiero recorrer los valores de la matriz dentro de un caso de prueba. El problema es que cuando hago esto, nada se ejecuta en este caso de prueba y comienza a ejecutarse el siguiente caso de prueba. Cuando recorro la matriz fuera del caso de prueba, funciona bien.
Segunda consulta: También console.log("Cualquier texto") no se ejecuta si lo escribo en un caso de prueba. ¿Por qué ambos funcionan bien fuera del caso de prueba y no debajo de él?
NOTA: este es solo un código de muestra.
davy.ai
Respuesta
Primera consulta:
Cuando se ejecuta un caso de prueba con Nightwatch, todos los pasos de ese caso de prueba deben estar escritos dentro del cuerpo del caso de prueba. Cualquier código escrito fuera no se ejecutará dentro del contexto del caso de prueba. En el código proporcionado, la sentencia console.log no se está ejecutando porque está fuera del cuerpo del caso de prueba. Para iterar sobre
namesArray
dentro del caso de pruebaEliminar todos los elementos
, puede utilizar el siguiente código:Segunda consulta:
console.log
es una función de utilidad que escribe datos en la consola para fines de depuración. En el código proporcionado, la sentenciaconsole.log
no se está ejecutando porque no está escrita dentro del cuerpo del caso de prueba. Mover la sentenciaconsole.log
dentro del caso de prueba resolverá este problema. Por ejemplo:Este código registrará un mensaje en la consola para cada elemento en
namesArray
a medida que se hace clic en ellos.