POSTMAN
Last updated
Last updated
API ๊ฐ๋ฐ์ ๋ณด๋ค ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๊ตฌํ ํ ์ ์๋๋ก ๋์์ฃผ๋ฉฐ, ๊ฐ๋ฐ๋ API๋ฅผ ํ ์คํธํ์ฌ ๋ฌธ์ํ ๋๋ ๊ณต์ ํ ์ ์๋๋ก ๋์ ์ฃผ๋ ํ๋ซํผ์ด๋ค. Postman์ ๋ชจ๋ API ๊ฐ๋ฐ์๋ฅผ ์ํด์ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ๋ณ์ ๋ฐ ํ๊ฒฝ, request ์ค๋ช , ํ ์คํธ ๋ฐ ์ฌ์ ์์ฒญ์ ํ์ํ ์คํฌ๋ฆฝํธ ์์ฑ ๋ฑ POSTMAN์ ํ์ฌ ์ํฌ ํ๋ก์ฐ๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ๋ง๋ค ์ ์๋๋ก ๊ณ ์๋์๋ค.
URL์ ํตํด์ ํ ์คํธ๋ฅผ ํ๋๊ฒ์ ํ๊ณ๊ฐ ์๋ค. ์ค์ ๋ก ๊ฐ๋ฐํ ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ์์ ๋ฒํผ์ ๋ง๋ค๊ณ , ์ด๋ฒคํธ๋ฅผ ๋ง๋ค๊ณ , ๋ฒํผ์ ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ๊ณ , ๋ฒํผ์ ๋๋ฅด๋ฉด ํด๋น ์ด๋ฒคํธ๋ฅผ ์คํํ๊ณ , ์ด๋ฒคํธ์์๋ ์์ฒญ์ ํ๊ณ , ์์ฒญ์ ํ ์ดํ์๋ ์๋ต์ ๋ฐ๊ณ , ๊ทธ ์๋ต์ ๋ฐ์ ๋ด์ฉ์ ํ๋ฉด์ ์ถ๋ ฅํ๋ ๋ฑ์ ์์ ์ด ๋๋ฌด ๊ธธ์ด์ง๊ฒ ๋๋ค. Authorization์ด๋ Header, Body๋ฅผ ์์ ํ๋๊ฑด ๋๋์ฑ ์ ํ์ด ๋ง๋ค. ํ์ง๋ง ํฌ์คํธ๋งจ์ ํด๋น ์์ ์ ํ ์ ์๋๋ก ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํด๋์ ํด์ด๊ธฐ ๋๋ฌธ์ ๋๊ตฌ๋ ์ฝ๊ฒ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. ๋ํ OS์ ์๊ด์์ด ์ด๋์์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ณ , ๊ฐ๋ฒผ์ด ํด์ด์ฌ์ ๊ฐ์ฉ์ฑ์ด ๋ฐ์ด ๋๋ค. ๋ํ ๊ณ์ ์ ๋ณด์ ํ๊ณ ์๋ค๋ฉด, ๋ด๊ฐ ์์ฒญํ Request ํ์คํ ๋ฆฌ, ํ ์คํธํ ํ๊ฒฝ์ ๊ทธ๋๋ก ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์ธ์ ์ด๋์๋ ๋ด๊ฐ ์์ ํ๋ ํ๊ฒฝ์ด ๊ตฌ์ถ๋๋ค๋ ํน์ง์ด ์๋ค.
https://www.getpostman.com/ ์ฌ์ดํธ์์ ๋ค์ด๋ก๋ ํ์ฌ ์ดํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์คํํ ์ ์๋ค. ๋จ๊ธฐ์ ์ผ๋ก ์ฌ์ฉํ๋ค๊ณ ํ๋ฉด ๊ตณ์ด ํ์๊ฐ์ ์์ด ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
POSTMAN์ REST API๋ฅผ ํํํ ์ ์๋ค.
ํ ๋ฌธ์ฅ์ผ๋ก ์ ์ํ๋ค๋ฉด HTTP URI๋ก ์ ํํ๋ ๋ฆฌ์์ค์ ๋ํ ํ์๋ฅผ HTTP Method๋ก ์ ์ํ๋ค. ๋ฆฌ์์ค์ ๋ด์ฉ์ json, xml, yaml๋ฑ์ ๋ค์ํ ํํ ์ธ์ด๋ก ์ ์๋๋ค. ์ฆ, URI๋ฅผ ์ด์ฉํด์ ์ ์ดํ ์์์ ๋ช ์ํ๊ณ HTTP๋ฅผ ์ด์ฉํด์ ์ ์ด๋ช ๋ น์ ๋ด๋ฆฐ๋ค.
POSTMAN์์ ์ฌ์ฉํ๋ URI, Resource๋ฅผ ๋จ์ text๋ก ํํํ ์๋ ์์ง๋ง ๋ณ๋์ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ํํํ ์ ์๋ค. ๋ณ์ ์ฌ์ฉ ๋ฒ์๋ ๋ชจ๋ ํ ์คํธ๊ฐ ๋ค์ด๊ฐ๋ ์์ญ์ ๋์ฒดํ ์ ์๋ค. ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ์ค๋ณต์ ์ผ๋ก ์ฌ์ฉํ๋ text๋ฅผ ํ๋์ ๋ณ์๋ก ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ ๋ฟ๋ง ์๋๋ผ text๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์ ๊ฐ๊ฐ์ text๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ ์๋ ๋ณ์ ๊ฐ๋ง ์์ ํ๊ฒ ๋๋ค๋ฉด ์ผ๊ด์ ์ฉ๋ ์ ์๋ ์ฅ์ ์ด ์๋ค.
๋ณ์๋ ํฌ๊ฒ ์ ์ญ ๋ณ์๋ก ์ฌ์ฉํ ์ ์๋ ๊ธ๋ก๋ฒ ํ๊ฒฝ๊ณผ ํน์ ํ๊ฒฝ์์๋ง ์ ์ฉ๋๋ ์ง์ญ ํ๊ฒฝ์ผ๋ก ๊ตฌ๋ถ๋ ์ ์๋ค. ์ง์ญ ํ๊ฒฝ ๋ณ์๋ ํน์ ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ ๋ณ์๋ก ํ๊ฒฝ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ํด๋น ํ๊ฒฝ์ ์ ์๋ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ๋์ด์ง๋ค.
๊ธ๋ก๋ฒ ํ๊ฒฝ ๋ณ์๋ ํน์ ํ๊ฒฝ์ ๋ณํ์ ๋ฌด๊ดํ๊ฒ ์ฌ์ฉ๋๋ ์ ์ญ ๋ณ์๋ก ์ง์ญ ํ๊ฒฝ ๋ณ์๊ฐ ์ค์ ๋์ด ์๋ค๊ณ ํ๋๋ผ๋ ๊ธ๋ก๋ฒ ๋ณ์๊ฐ ์ค์ ๋์ด ์๋ค๋ฉด ์ฐ์ ์์๋ ๊ธ๋ก๋ฒ ํ๊ฒฝ ๋ณ์๊ฐ ๋ ๋๋ค.
Interceptor ๊ธฐ๋ฅ์ Chrome ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ํ Request ํ์คํ ๋ฆฌ๋ฅผ Postman History๋ก ๋๊ธฐํ๋ฅผ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo ์์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์นํ ๋ค ์ฐ์ธก ์๋จ์์ Request Capture๋ฅผ ํ์ฑํ ์ํค๊ณ Postman Application์์๋ ํ์ฑํ์์ผ์ฃผ๊ฒ ๋๋ฉด ๋๊ธฐํ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
Collection ๊ด๋ฆฌ๋ฅผ ํตํด์ ํฌ๊ฒ๋ ํ๋ก์ ํธ ๋ณ๋ก ๊ตฌ๋ถํ ์ ์๊ณ ์ธ๋ถ์ ์ผ๋ก๋ ํ๋ก์ ํธ ๋ด๋ถ์์ ๊ฐ ๋ชจ๋์ด๋ ๊ธฐ๋ฅ ๋ณ๋ก ๋ถ๋ฆฌํ ์ ์๋ค. back-end์ front-end์ ์์ ์ด ๊ตฌ๋ถ๋์ด ์๋ค๋ฉด ๊ฐ๋ฐ ์์์ ์ collection ๊ท์น์ ํ์ํ์ฌ ์งํํ๋ ๊ฒ์ด ํจ์จ์ ์ด๋ค.
์ ๋ฃ ์๋น์ค๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด ํ์ ๊ฐ์ collection ๊ณต์ ๋ ๋ถ๊ฐ๋ฅ ํ๋ฏ๋ก ์์ ํ collection์ export/importํ์ฌ ๊ณต์ ํด์ผ ํ๋ ๋ถ๋ถ์ด ์๋ค.
POSTMAN์ผ๋ก ๋จ์ํ๊ฒ API๊ฐ ๋์ํ๋์ง์ ๋ํ ํ ์คํธ๋ฅผ ์งํํ ์ ์์ง๋ง ์ข ๋ ๊ตฌ์ฒด์ ์ธ ํ ์คํธ๋ฅผ ์งํํ๊ธฐ ์ํด์๋ Response Data๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ ์๋๋ฆฌ์ค๋ฅผ ์์ฑํ ์ ์๋ค. ์๋ฅผ ๋ค์ด Response Data์ address ๊ฐ์ ์ฌ๋ถ๋ฅผ ํ ์คํธ ์ผ์ด์ค์ ๋ฃ๊ฒ ๋๋ค๋ฉด address ๊ฐ์ด ์์ ๊ฒฝ์ฐ์๋ API ์ํ ๊ฒฐ๊ณผ๊ฐ์ด 200์ด๋๋ผ๋ ์๋ฌ๋ผ๋ ํ ์คํธ ์ผ์ด์ค ๊ฒฐ๊ณผ ๊ฐ์ ํ์ธํ ์ ์๋ค. ๋๋ Response Data๋ฅผ ์ด์ฉํ์ฌ ์ ์ญ๋ณ์ ๋๋ ์ง์ญ๋ณ์์ ๊ฐ์ ์ค์ ํ ์๋ ์๋ค.
์ด์ ์ ์ค๋ช ํ Test scnario๋ API ํธ์ถ ์ดํ ์์ ์ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ์ด๋ผ๋ฉด, Pre-Scripts์ ๊ฒฝ์ฐ์๋ API ํธ์ถ ์ด์ ์์ ์ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ์ผ๋ก ๊ตฌ๋ถํ ์ ์๋ค. ์๋ฅผ ๋ค์ด ํ๋ผ๋ฏธํฐ์ ํ์ฌ ๋ ์ง๋ฅผ ์ ์กํด์ฃผ์ด์ผ ํ๋ค๋ฉด ํ ์คํธ ์งํํ ๋๋ง๋ค ํ์ฌ ๋ ์ง๋ฅผ ํ ์คํธ๋ก ์ ๋ ฅํด์ฃผ์ด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์๋ค. ๊ทธ๋ฌ๋ ์ด ๋ถ๋ถ์ pre-script๋ฅผ ์ฌ์ฉํ์ฌ function์ผ๋ก ๊ตฌํํ์๋ค๋ฉด ์๋์ผ๋ก ํ๋ผ๋ฏธํฐ๊ฐ ํ์ฌ ๋ ์ง๋ก ๋ณ๊ฒฝ๋ ๊ฒ์ด๋ค.
Project ๋จ์๋ก ์ฌ์ฉ์๊ฐ ์ํ๋ ์ฃผ๊ธฐ๋ก Collection์ ์คํํ์ฌ API์ monitoring์ด ๊ฐ๋ฅํ๋ค. monitoringํ๋ ์ฃผ๊ธฐ ๋จ์ ๋๋ traffic๋์ ๋ฐ๋ผ์ ์ ๋ฃ๋ก ์ ๊ณต๋๊ณ ์๋ค.
Test scnario์ ์ฌํ ๊ธฐ๋ฅ์ผ๋ก Postman.setNextRequest ํจ์๋ฅผ ์ด์ฉํ์ฌ API ์์๋ฅผ ์์๋ก ์ง์ ํ ์ ์๋ค. ํน์ API ํธ์ถ์ดํ์ ํ ์คํธํ ์ ์๋ API๊ฐ ์๋ค๋ฉด ํด๋น ๊ธฐ๋ฅ์ด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ๊ฒ์ด๋ค. ํ๊ฐ์ง ๋จ์ ์ ์ผ๋ฐ์ ์ธ ์คํ์ผ๋ก๋ setNextRequest ํจ์๊ฐ ์คํ์ด ์๋๊ณ Runner๋ฅผ ํตํด์๋ง ์คํ์ด ๊ฐ๋ฅํ๋ค.
Team ๋ด๋ถ์์ Collection์ ๊ณต์ ํ๋ ๊ธฐ๋ฅ์ผ๋ก ์ ๋ฃ ๋ฒ์ ์์๋ง ์ ๊ณตํ๋ค. ๋ฌด๋ฃ๋ฒ์ ์์ Collection์ ๊ณต์ ํ๊ธฐ ์ํด export/importํ๋ ๋ฒ๊ฑฐ๋ก์์ ์ค์ผ์ ์๊ณ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๋ค.