import http from 'k6/http';
import { check, sleep } from 'k6';
// --- Generated k6 script. URLs, headers, and payloads are inlined. ---
export const options = {
stages: [
{ duration: '2m', target: 10 },
{ duration: '3m', target: 50 },
{ duration: '5m', target: 50 },
{ duration: '5m', target: 100 },
{ duration: '10m', target: 100 },
{ duration: '5m', target: 0 },
],
thresholds: {
http_req_failed: ['rate<0.01'],
http_req_duration: ['p(95)<500'],
checks: ['rate>0.95'],
},
};
export default function () {
// 1. GET https://example.com/
let res = http.get('https://example.com/');
check(res, {
'Status code is 200': (r) => res.status === 200,
'Response time < 500ms': (r) => res.timings.duration < 500,
'Response body contains "success"': (r) => res.body && res.body.includes("success"),
});
sleep(1);
// 2. POST https://example.com/api/login
res = http.post('https://example.com/api/login', '{\n "username": "[email protected]",\n "password": "password123"\n}');
check(res, {
'Status code is 200': (r) => res.status === 200,
'Response time < 500ms': (r) => res.timings.duration < 500,
'Response body contains "success"': (r) => res.body && res.body.includes("success"),
});
sleep(1);
// 3. GET https://example.com/api/users
res = http.get('https://example.com/api/users', { headers: {
'Authorization': 'Bearer your_token_here',
} });
check(res, {
'Status code is 200': (r) => res.status === 200,
'Response time < 500ms': (r) => res.timings.duration < 500,
'Response body contains "success"': (r) => res.body && res.body.includes("success"),
});
sleep(1);
// 4. POST https://example.com/api/users
res = http.post('https://example.com/api/users', '{\n "name": "Alice"\n}', { headers: {
'Authorization': 'Bearer your_token_here',
} });
check(res, {
'Status code is 200': (r) => res.status === 200,
'Response time < 500ms': (r) => res.timings.duration < 500,
'Response body contains "success"': (r) => res.body && res.body.includes("success"),
});
sleep(1);
}