Initial commit
This commit is contained in:
65
skills/performance-test-suite/assets/test_template.js
Normal file
65
skills/performance-test-suite/assets/test_template.js
Normal file
@@ -0,0 +1,65 @@
|
||||
// test_template.js - Template for K6 performance tests
|
||||
|
||||
// Import necessary modules from K6
|
||||
import http from 'k6/http';
|
||||
import { check, sleep } from 'k6';
|
||||
|
||||
// Configuration options
|
||||
export const options = {
|
||||
// Stages define the load pattern
|
||||
stages: [
|
||||
// Example: Ramp-up to 10 virtual users (VUs) over 10 seconds
|
||||
{ duration: '10s', target: 10 },
|
||||
|
||||
// Example: Maintain 10 VUs for 30 seconds
|
||||
{ duration: '30s', target: 10 },
|
||||
|
||||
// Example: Ramp-down to 0 VUs over 10 seconds
|
||||
{ duration: '10s', target: 0 },
|
||||
],
|
||||
|
||||
// Thresholds define pass/fail criteria
|
||||
thresholds: {
|
||||
// Example: 95th percentile response time should be below 200ms
|
||||
http_req_duration: ['p95<200'],
|
||||
|
||||
// Example: 99% of requests should be successful
|
||||
http_req_failed: ['rate<0.01'], // <1% failure rate
|
||||
},
|
||||
};
|
||||
|
||||
// Define the virtual user (VU) function
|
||||
export default function () {
|
||||
// Replace with your target URL
|
||||
const url = 'YOUR_TARGET_URL_HERE';
|
||||
|
||||
// Replace with your request parameters (optional)
|
||||
const params = {
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
};
|
||||
|
||||
// Replace with your request body (optional)
|
||||
const payload = JSON.stringify({
|
||||
key1: 'value1',
|
||||
key2: 'value2',
|
||||
});
|
||||
|
||||
// Make an HTTP request
|
||||
const res = http.get(url, params); // or use http.post, http.put, http.delete, etc.
|
||||
|
||||
// Check the response status code
|
||||
check(res, {
|
||||
'status is 200': (r) => r.status === 200,
|
||||
});
|
||||
|
||||
// Add more checks as needed
|
||||
// Example: check(res, { 'response time < 500ms': (r) => r.timings.duration < 500 });
|
||||
|
||||
// Introduce a delay between requests (optional)
|
||||
sleep(1); // Sleep for 1 second
|
||||
|
||||
// Log response data for debugging (optional - REMOVE IN PRODUCTION!)
|
||||
// console.log(res.body);
|
||||
}
|
||||
Reference in New Issue
Block a user