From cfaf83b70c3d09104abfbf911530f9f2bfdb68bf Mon Sep 17 00:00:00 2001 From: pricelees Date: Sun, 12 Oct 2025 13:29:33 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20API=20?= =?UTF-8?q?=EC=84=B1=EB=8A=A5=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=8A=A4?= =?UTF-8?q?=ED=81=AC=EB=A6=BD=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test-scripts/login-performance.js | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 test-scripts/login-performance.js diff --git a/test-scripts/login-performance.js b/test-scripts/login-performance.js new file mode 100644 index 00000000..04dad6df --- /dev/null +++ b/test-scripts/login-performance.js @@ -0,0 +1,33 @@ +import {fetchUsers, login} from "./common.js"; +import {randomItem} from 'https://jslib.k6.io/k6-utils/1.2.0/index.js'; + +export const options = { + scenarios: { + login: { + executor: 'ramping-vus', + startVUs: 0, + stages: [ + { duration: '1m', target: 100 }, + { duration: '1m', target: 200 }, + { duration: '1m', target: 300 }, + { duration: '1m', target: 300 }, + { duration: '1m', target: 400 }, + { duration: '1m', target: 500 }, + { duration: '2m', target: 0 }, + ] + } + } +} + +export function setup() { + const users = fetchUsers() + + console.log(`${users.length}명의 회원 준비`) + + return { users } +} + +export default function (data) { + const user = randomItem(data.users) + const token = login(user.account, user.password, 'USER').accessToken +}