c50ccd258f
refactor(tests): 将e2e_tests迁移到tests_suite和api_integration_tests style: 为Java类添加文档注释 docs: 更新.gitignore和配置文件 test: 添加性能测试和Playwright测试脚本 chore: 清理旧测试文件和配置
57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
import http from 'k6/http';
|
|
import { check, sleep } from 'k6';
|
|
|
|
const BASE_URL = __ENV.BASE_URL || 'http://localhost:8080';
|
|
|
|
export let options = {
|
|
scenarios: {
|
|
baseline: {
|
|
executor: 'constant-vus',
|
|
vus: 10,
|
|
duration: '30s',
|
|
startTime: '0s',
|
|
},
|
|
stress_test: {
|
|
executor: 'ramping-vus',
|
|
startVUs: 10,
|
|
stages: [
|
|
{ duration: '1m', target: 50 },
|
|
{ duration: '2m', target: 100 },
|
|
{ duration: '1m', target: 50 },
|
|
{ duration: '1m', target: 10 }
|
|
],
|
|
startTime: '0s',
|
|
},
|
|
spike_test: {
|
|
executor: 'ramping-vus',
|
|
startVUs: 10,
|
|
stages: [
|
|
{ duration: '30s', target: 10 },
|
|
{ duration: '10s', target: 200 },
|
|
{ duration: '30s', target: 10 }
|
|
],
|
|
startTime: '0s',
|
|
},
|
|
},
|
|
thresholds: {
|
|
http_req_duration: ['p(95)<500'],
|
|
http_req_failed: ['rate<0.05'],
|
|
},
|
|
};
|
|
|
|
export default function () {
|
|
let response = http.get(`${BASE_URL}/actuator/health`);
|
|
|
|
check(response, {
|
|
'status is 200': (r) => r.status === 200,
|
|
'response time < 500ms': (r) => r.timings.duration < 500,
|
|
'has UP status': (r) => r.json('status') === 'UP',
|
|
});
|
|
|
|
sleep(1);
|
|
}
|
|
|
|
export function teardown() {
|
|
console.log('Performance test completed');
|
|
}
|