No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Rate Metric

14/27
Recursos

Aportes 6

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

dejo mi solucion:

import { Rate } from 'k6/metrics';
import http from 'k6/http';
import { randomIntBetween } from 'https://jslib.k6.io/k6-utils/1.4.0/index.js';

export const options = {
    vus: 10, duration: '10s'
};

const porcentOk = new Rate('products found');

export default function () {
    const number = randomIntBetween(1, 300)
    const res = http.get(`https://api.escuelajs.co/api/v1/products/${number}`);

    porcentOk.add(res.status === 200 ? 1 : 0);
}!

En mi caso el porcentaje no cambiaba entonces la soluci贸n fue cambiar el if a:

if (request404.status === 400) {
myRate.add(0);
}

es decir, al final es un error del tipo 400 no 404

Hola 馃枑. Aqu铆 dejo mi resoluci贸n del reto 馃槃

import http from 'k6/http';
import { Rate } from 'k6/metrics';

export const options = {
  vus: 10,
  duration: '20s'
}

const rate = new Rate("exists_product");

export default function(){
  const randomProduct = random(1, 300);// Return random value between 1 and 300
  const response = http.get("https://api.escuelajs.co/api/v1/products/" + String(randomProduct));

  // If the response status equals 400
  if(response.status === 400){
    rate.add(0);
  }
  else{
    rate.add(1);
  }
}

function random(min, max) {
  return Math.floor((Math.random() * (max - min + 1)) + min);
}

Para este caso con un if else es sencillo

import http from "k6/http";
import { Rate} from "k6/metrics";

export const options = {
    vus: 10, 
    duration: "20s"
}

const myRate = new Rate("called_products")

export default function(){
    var min = 1;
    var max = 300;
    var randomPrduct = Math.floor(Math.random() * (max - min + 1)) + min;
    const request = http.get(`https://api.escuelajs.co/api/v1/products/${randomPrduct}`);
    if (request.status ===400){
        myRate.add(0);
    }
    else{
        myRate.add(1)
    }

}

Gente aqu铆 les dejo mi soluci贸n al reto:

import http from 'k6/http'; // importa el m贸dulo HTTP de K6 para hacer peticiones
import { Rate } from 'k6/metrics'; // importa el m贸dulo Metrics de K6 para manejar m茅tricas de pruebas

export const options = {
  vus: 10, // n煤mero de usuarios virtuales que simular谩n la carga en la aplicaci贸n
  duration: '20s' // tiempo total de ejecuci贸n de la prueba
}

const myRate = new Rate('called_products'); // instancia un objeto de tipo Rate con nombre 'called_products'

const random = (min, max) => { // funci贸n que genera un n煤mero aleatorio en un rango dado
  return Math.floor(Math.random() * (max - min)) + min;
}

export default function testEcommerceAPI() {

  const random_product = random(1, 300); // llama a la funci贸n random para obtener un n煤mero aleatorio entre 1 y 300

  // realiza una petici贸n GET a la API con el n煤mero aleatorio generado
  const request = http.get(`https://api.escuelajs.co/api/v1/products/${random_product}`);

  // si el estado de la respuesta es 400, agrega un valor de 0 a la m茅trica 'called_products', de lo contrario agrega 1
  request.status === 400 ? myRate.add(0) : myRate.add(1);
}