Estoy tratando de verificar los valores de ciertas propiedades en la respuesta json en cartero.
pm.expect(jsonData.property).not.equal(null);
El caso es que necesito verificar varias propiedades cuyos nombres he almacenado en una matriz.
var jsonData = pm.response.json(); var keys = ["id", "phoneNumber", "passwordHash"]; pm.test("All values have valid value", function(){ for(var a = 0; a < keys.length; a++){ pm.expect(jsonData.keys[a]).not.equal(null); }; });Pero estoy recibiendo este error:
Todos los valores tienen un tipo válido | TypeError: no se puede leer la propiedad '0' de indefinido
Alguien me puede explicar, que estoy haciendo mal por favor? Gracias por cualquier consejo.
No puede usar el punto (.) para obtener un valor de una clave desconocida, use el corchete [] en su lugar. Prueba esto:
pm.expect(jsonData[keys[a]]).not.equal(null); Una cosa sutil, en mi opinión, usar i (índice medio) es mejor que a .