첫 번째 api에서 리턴한 값을 두 번째 api에 파라미터로 넘겨주고, 두 번째 api에서 리턴한 값은 세 번째 api에 넘겨줘야하는 상황.
JMeter의 기본적인 사용법은 생략~~
1. 구조
2. thread group
10명의 (테스트)유저를 0초마다 유이~땅!시킬 것이다.
이렇게 하면
(쓰레드1의 api1 수행 - 쓰레드1의 api2 수행 - 쓰레드1의 api3 수행 끝)
-> (쓰레드2의 api1 수행 - 쓰레드2의 api2 수행 - 쓰레드2의 api3 수행 끝)
... 의 순서로 차곡차곡 굴러가는 게 아니고, 각각의 쓰레드(유저)가 api1-> api2 ->api3 순서대로 타는 것만 지켜진다. 뭔 말인지는 실행 결과를 보면 알 수 있다.
3. simple controller
4. http request - API1
로컬에다가 쏠 것이다.
요 첫 번째 api 에서 리턴하는 json은 다음과 같다고 하자.
여기서 첫 번째 email과 memberId인 test1@test.com, 1을 api 2에 전달하려면 어떻게 해야할까?
5. json extractor
점 두 개임에 주의..
..점 두 개임
이제 email, memberId라는 변수를 가지고 이어서 호출할 api에 사용할 수 있다. email은 api2에, memberId는 api3에 쓸 것이다.
6. http header manager
나같은 경우 api1를 실행하려면 관리자의 권한이 필요해서 추가했다. 필요없으면 컨텐츠타입만 지정해주자
7. http request - API2
requestBody에 ${email}을 넘겨준다.
그리고 api2에서 리턴하는 json은 다음과 같다고 하자
여기서 api 3에 보낼 token을 뽑으려면 어떻게 해야할까?
8. json extractor
점 한 개임.
왜 아까는 두 개고 지금은 한 개일까...는 응답 json의 생김새를 보면 감이 올 것이다.
이제 token이라는 변수도 다음 api에 넘겨줄 수 있다.
9. http request - API3
api1에서 뽑은 memberId를 쓰고 있다. 그럼 token은 어디서 쓸거냐고?
10. http header manager
api 3의 request header에 쓸 거였음~
11. http cookie manager
쿠키 클리어 옵션을 체크한다. 쓰레드들이 각자 다른 토큰을 써야 하니까
그리고 실행~
12. view result tree
실행결과의 호출순서를 보면
2번에서 ramp-up-period를 0으로 설정해놓아서, 쓰레드 10개가 동시에 api1을 호다닥 시작한 걸 볼 수 있다
'개발' 카테고리의 다른 글
mysql - 이 중에 하나라도 like한 게 있는지 (0) | 2021.12.16 |
---|---|
intelliJ - 아~무리해도 jar가 임포트 안 될 때 (0) | 2021.12.16 |
intelliJ - 특정 커밋 버전으로 체크아웃 (0) | 2021.04.24 |
맥에서 그레이들 명령어 안먹힐 때 (0) | 2021.04.24 |
mysql - 컬럼1에 있는거 컬럼2에 옮기기 (0) | 2021.04.24 |