E2E ํ ์คํธ
์ฌ์ฉ์ ์ ์ฅ์์ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ ์ํฉ์ ๊ฐ์ ํ๊ณ ํ ์คํธํ๋ ๋ฐฉ์์ด๋ค.
์ฌ์ฉ์๊ฐ ์๋น์ค๋ฅผ ์ฐ๋ ํ๋ฆ์ ์ฒ์๋ถํฐ ๋๊น์ง ๊ทธ๋๋ก ๋ฐ๋ผ๊ฐ๋ฉฐ ํ์ธํ๋ ํ ์คํธ์ด๋ค.
E2E ํ ์คํธ ์๋ํ ๋๊ตฌ ํ์์ฑ

Playwright: MS์์ ๋ง๋ End To End ํ ์คํธ ์๋ํ ๋๊ตฌ
1. ๋ค์ํ ๋ธ๋ผ์ฐ์ /์ธ์ด๋ฅผ ์ง์ํ๋ค. ๋ํ ๋ชจ๋ฐ์ผ ๋ธ๋ผ์ฐ์ ๋ ์ง์ํ๋ค.
2. ๋คํธ์ํฌ ํธ๋ํฝ์ ๋ชจ๋ํฐ๋งํ๊ณ ์์ ํ๋ API๋ฅผ ์ ๊ณตํ์ฌ API ๊ธฐ๋ฐ ํ ์คํธ ์๋๋ฆฌ์ค๊ฐ ๊ฐ๋ฅํ๋ค.
3. ์๋ ๋๊ธฐ ๋งค์ปค๋์ฆ์ด ๋ด์ฅ๋์ด ์์ด ํ ์คํธ ์์ ์์ DOM ์์๊ฐ ์ค๋น๋์ง ์์ ์คํจํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
4. ๋ณ๋ ฌ ํ ์คํธ ์ฑ๋ฅ์ด ์ฐ์ํด ๋๊ท๋ชจ ํ๋ก์ ํธ์์ ์๊ฐ ์ ์ฝ ๊ฐ๋ฅํ๋ค.

ํ ์คํธ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค.

์ Playwright์ธ๊ฐ?
1๏ธโฃ ํ ์คํธ ์คํ ๊ตฌ์กฐ ์ฐจ์ด
Cypress
ํ ์คํธ ์ฝ๋๊ฐ ๋ธ๋ผ์ฐ์ ๋ด๋ถ์์ ์คํ๋์ด ๋ธ๋ผ์ฐ์ ์ ํ ์คํธ๊ฐ ๊ฐํ๊ฒ ๊ฒฐํฉํ๋ค.
๐ ๊ฒฐ๊ณผ: ๋ฉํฐ ํญ, ์ ์ฐฝ, ์ธ์ ๋ถ๋ฆฌ ๊ฐ์ ์๋๋ฆฌ์ค๊ฐ ๊น๋ค๋กญ๋ค.
Playwright
ํ ์คํธ ๋ฌ๋๊ฐ ๋ธ๋ผ์ฐ์ ์ธ๋ถ(Node.js) ์์ ์คํ ์ค์ ์ฌ์ฉ์๋ฅผ “๋ฐ์์ ์กฐ์ข ”ํ๋ ๊ตฌ์กฐ์ด๋ค.
๐ ๊ฒฐ๊ณผ: ๋ฉํฐ ํญ , ์ ์ฐฝ ์ธ์ ๋ถ๋ฆฌ ๊ฐ์ ์๋๋ฆฌ์ค๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ์ฒ๋ฆฌํ๋ค.
2๏ธโฃ ์์ ์ฑ
Cypress
๋น๋๊ธฐ ํ์ด๋ฐ, ๋ ๋๋ง ํ์ด๋ฐ์ ๋ฏผ๊ฐํ ์ผ์ด์ค๊ฐ ์กด์ฌํด ๊ฐ๋ ์คํจํ ๋๊ฐ ์๋ค.
๐ ๊ฒฐ๊ณผ: ์์ ์ฑ์ ๋ํด ๊ณ ๋ฏผํ๊ฒ ๋๋ค.
Playwright
์๋ ๋๊ธฐ ๋งค์ปค๋์ฆ์ ๊ฐ์ง๊ณ ์์ด ์ผ๊ด์ ์ด๋ค.
๐ ๊ฒฐ๊ณผ: ๋ณ๋ ฌ ํ๊ฒฝ์์๋ ์ ๋ขฐํ ์ ์๋ค.
3๏ธโฃ CI / ํ์ฅ์ฑ
Cypress
ํ ์คํธ ์๊ฐ ๋ง์์ง์๋ก ์๋/์์ ์ฑ ์ด์๊ฐ ์๋ค.
Playwright
๋ณ๋ ฌ ์คํ ๊ตฌ์กฐ ๋ช ํํ๋ค.