Skip to content

Examples

Kuda Hitam edited this page Nov 29, 2023 · 3 revisions

Examples

This section provides various examples demonstrating how to use the iCanLoadJS Performance Testing Module for different scenarios and configurations.

Basic Example

Perform a basic performance test with default settings:

const icanloadjs = require('icanloadjs');

const url = 'https://example.com/api';
const numRequests = 100;
const numVirtualUsers = 5;

icanloadjs.runIcan(url, 'GET', numRequests, numVirtualUsers);

Customized Example

Customize your performance test by adjusting parameters and thresholds:

const icanloadjs = require('icanloadjs');

const url = 'https://example.com/api';
const numRequests = 200;
const numVirtualUsers = 10;
const data = { key: 'value' };
const thresholds = {
  maxFailedChecks: 10,
  // Add more thresholds as needed
};

icanloadjs.runIcan(url, 'POST', numRequests, numVirtualUsers, data, thresholds);

Multiple Virtual Users

Run a performance test with multiple virtual users:

const icanloadjs = require('icanloadjs');

const url = 'https://example.com/api';
const numRequests = 50;
const numVirtualUsers = 3;

icanloadjs.runIcan(url, 'GET', numRequests, numVirtualUsers);

Additional Thresholds

Set additional thresholds for response times:

const icanloadjs = require('icanloadjs');

const url = 'https://example.com/api';
const numRequests = 100;
const numVirtualUsers = 5;
const thresholds = {
  maxFailedChecks: 5,
  maxResponseTime: 1000, // Maximum allowed response time in milliseconds
};

icanloadjs.runIcan(url, 'GET', numRequests, numVirtualUsers, thresholds);

Feel free to explore and modify these examples based on your specific testing scenarios and requirements.

Basic Auth

//Contoh Basic Auth
const icanloadjs = require('icanloadjs');

// Contoh URL yang akan diuji
const urlToTest = 'https://fakestoreapi.com/auth/login';
const method = 'POST';

// Menjalankan uji kinerja dengan otentikasi dasar
const numRequests = 1;
const numVirtualUsers = 2;

const auth = {
  type: 'basic',
  username: 'mor_2314',
  password: '83r5^_',
};

icanloadjs.runIcan(urlToTest, method, numRequests, numVirtualUsers, auth);

Sleep

const icanloadjs = require('icanloadjs');
const { sleepIcan } = require('icanloadjs');

const urlToTest = 'https://jsonplaceholder.typicode.com/posts';
const method = 'GET';
const numRequests = 10;
sleepIcan(50000); // Sleep for 5 seconds
const numVirtualUsers = 10;
const thresholds = {
    maxFailedChecks: 2,
    http_req_failed: 0.01, // 1% failure rate
    http_req_duration: 200, // 95% of requests below 200ms
    // ... other thresholds
  };

icanloadjs.runIcan(urlToTest, method, numRequests, numVirtualUsers, thresholds);

Peak Load

const icanloadjs = require('icanloadjs');

const urlToTest = 'https://fakestoreapi.com/products';
const method = 'GET';
const numRequests = 1000;
const numVirtualUsers = 100;
const thresholds = {
  maxFailedChecks: 5,
  http_req_failed: 0.02, // 2% failure rate allowed
  http_req_duration: 500, // 95% of requests below 500ms
  // ... other thresholds
};

const targetArrivalRate = 20; // Simulate a peak traffic scenario (20 requests per second)

icanloadjs.runIcanWithArrivalRate(urlToTest, method, numRequests,numVirtualUsers, targetArrivalRate, thresholds);

Daily Traffic

const icanloadjs = require('icanloadjs');

const urlToTest = 'https://fakestoreapi.com/products';
const method = 'GET';
const numRequests = 500;
const numVirtualUsers = 50;
const thresholds = {
  maxFailedChecks: 2,
  http_req_failed: 0.01, // 1% failure rate allowed
  http_req_duration: 300, // 95% of requests below 300ms
  // ... other thresholds
};

const targetArrivalRate = 2; // Simulate normal daily traffic (2 requests per second)

icanloadjs.runIcanWithArrivalRate(urlToTest, method, numRequests, numVirtualUsers, targetArrivalRate, thresholds);

System Scalability

const icanloadjs = require('icanloadjs');

const urlToTest = 'https://fakestoreapi.com/products';
const method = 'GET';
const numRequests = 10;
const numVirtualUsers = 20;
const thresholds = {
  maxFailedChecks: 10,
  http_req_failed: 0.03, // 3% failure rate allowed
  http_req_duration: 10, // 95% of requests below 800ms
  // ... other thresholds
};

const targetArrivalRate = 30; // Simulate fluctuating traffic for scalability testing (30 requests per second)

icanloadjs.runIcanWithArrivalRate(urlToTest, method, numRequests, targetArrivalRate, thresholds, numVirtualUsers);

Next Steps

After exploring these examples, you can delve deeper into the Metrics and Thresholds sections to understand the metrics provided by the module and how to set thresholds for your tests.

Clone this wiki locally