4. playwright
Keyword
E2E(End to End) Test
Headless Chrome
Puppeteer
Playwright
CodeceptJS
1. E2E(End to End) Test
์ฌ์ฉ์ ๊ด์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธํ๋ ๋ฐฉ๋ฒ. ์ฌ์ฉ์๊ฐ ์๋น์ค๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ ๋ ๋ฐ์ํ ์ ์๋ ์๋๋ฆฌ์ค๋ฅผ ์ฌํํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํ ์คํธํ๊ณ ํต๊ณผํจ์ผ๋ก์จ ์๋น์ค ๋ฌด๊ฒฐ์ฑ์ ์ฆ๋ช ํ ์ ์๊ฒ ๋๋ค.
2. Headless Chrome
Chrome์ GUIํํ๋ก ์คํ๋๋ ๊ฒ๊ณผ๋ ๋ฌ๋ฆฌ, Headless Chrome์ CLIํํ๋ก ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋งํ๋ค. UI๋ก ๋ณด์ฌ์ค ํ์๊ฐ ์๋ ์น ์คํฌ๋ํ, ํ ์คํธ๋ฅผ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค.
3. Puppeteer
์น ๋ธ๋ผ์ฐ์ ์๋ํ ํด๋ก ๊ตฌ๊ธ์์ ๊ฐ๋ฐํ Node.js ํ๊ฒฝ์์ ์คํ๋๋ Headless Chrome๊ณผ Chromium์ ์ ์ดํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. Headless์ Non-Headless ๋ชจ๋๋ฅผ on/off ํ ์ ์๋ค.
Puppeteer ์ฌ์ฉ๋ชฉ์
์น ํ์ด์ง๋ฅผ ์คํฌ๋ฆฐ์ทํ๊ฑฐ๋ PDF๋ฅผ ์์ฑํ ์ ์๋ค.
SPA ํฌ๋กค๋ง ๊ฐ๋ฅ - page.goto()์ page.waitFor()๋ฅผ ์ฌ์ฉํด SPA ํ์ด์ง๋ฅผ ๋ก๋ํ๊ณ ํ์ํ ์์๋ค์ด ๋ก๋๋ ๋๊น์ง ๋๊ธฐํ๋ค.
UI ํ ์คํธ ์๋ํ
์น ๋ธ๋ผ์ฐ์ ์๋ํ?
ํ๋ก๊ทธ๋๋ฐ์ ํตํด ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ด์ ์ํธ ์์ฉ์ ์๋ํํ ๊ฒ. ์ง์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด๊ณ ์น ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํด ์ํธ ์์ฉํ์ง ์์๋, ํ๋ก๊ทธ๋จ์ด ๋์ ์๋์ผ๋ก ์ํํด์ฃผ๋ ๊ฒ ์ด๋ค.
4. Playwright
MS์์ ๊ฐ๋ฐํ ์น ๋ธ๋ผ์ฐ์ ์๋ํ ๋ฐ ํ ์คํธ๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
Puppeteer๊ฐ ์๋๋ฐ ์ Playwright๋ฅผ ์ฌ์ฉ?
๋ค์ํ ๋ธ๋ผ์ฐ์ ์ง์ - Puppeteer๋ Chromium์ ๊ธฐ๋ฐ์ผ๋ก ํ์ง๋ง, Playwright๋ ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ํ๊ธฐ ๋๋ฌธ์ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง ํ ์คํธ์ ์ ํฉํ๋ค.
๋ค์ํ ์ธ์ด ์ง์ - JS๋ฟ๋ง ์๋๋ผ Python, TS๋ฅผ ์ง์ํ๋ค.
5. CodeceptJS
E2E ํ ์คํธ๋ฅผ ์ํ ์ฌ์ฉ์ ์นํ์ ์ธ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋ Javascript ํ ์คํธ ๋๊ตฌ. ํ ์คํธ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์ด๋ฉฐ, ๋น๊ฐ๋ฐ์ ์ ์ฅ์์๋ ํธ๋ฆฌํ๊ฒ ์ฝ๊ณ ์ฌ์ฉํ ์ ์๋ค.
Last updated