4. Playwright

E2E ํ…Œ์ŠคํŠธ

  • ์‚ฌ์šฉ์ž ์ค‘์‹ฌ์œผ๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ๋ฆ„์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•

  • ์‹ค์ œ ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ณ  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ์š”์†Œ์˜ ํ†ตํ•ฉ ๋ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฒ€์ฆ

  • ํŽ˜์ด์ง€์—์„œ ์›ํ•˜๋Š” ํ…์ŠคํŠธ๊ฐ€ ์ œ๋Œ€๋กœ ์ถœ๋ ฅ์ด ๋˜์—ˆ๋Š”์ง€, ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„๋•Œ ์˜ฌ๋ฐ”๋ฅธ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ ๋“ฑ์„ ํ…Œ์ŠคํŠธ

Headless Chrome

  • ์›น๋ธŒ๋ผ์šฐ์ €๋Š” ๋ณดํ†ต GUI๋กœ ์ž‘๋™ํ•˜๋Š”๋ฐ, GUI ์—†์ด ํ”„๋กœ๊ทธ๋žจ์ƒ์œผ๋กœ๋งŒ chrome์„ ๋Œ๋ฆผ

  • ์‹ค์ œ ๋ธŒ๋ผ์šฐ์ €์™€ ๊ฐ™๊ฒŒ ๋™์ž‘ํ•˜๋ฏ€๋กœ JavaScript๋„ ์ž˜ ๋™์ž‘ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ € ํ…Œ์ŠคํŠธ๋ฅผ ํ• ๋•Œ๋„ ๋น ๋ฆ„

Puppeteer

  • ๊ตฌ๊ธ€์—์„œ ๋งŒ๋“  ๋…ธ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ Headless Chrome ๋˜๋Š” Chrominum์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Œ

  • Chrome์˜ ๋ Œ๋”๋ง ์—”์ง„์ด ์ง€์›ํ•˜๋Š” ์ตœ์‹  ์ŠคํŽ™์˜ HTML, CSS, JS ๋“ฑ ๋ Œ๋”๋ง ์—”์ง„์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ํ™”๋ฉด์„ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์žˆ์Œ

Playwright

  • ํ•˜๋‚˜์˜ API๋กœ ๋ชจ๋“  ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์ธ ์ž๋™ํ™”๋ฅผ ์ง€์›ํ•˜๋Š” E2E ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๋„๊ตฌ

  • Headless Chrome์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•œ Puppteteer๋ฅผ ๊ณ„์Šนํ•˜๋ฉด์„œ, ๋” ๋งŽ์€ ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง€์›

CodeceptJS

  • BDD ์Šคํƒ€์ผ ๋ฌธ๋ฒ•์˜ E2Eํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ

  • ์‚ฌ์šฉ์ž์˜ ํ–‰๋™์— ๋Œ€ํ•œ ์„ ํ˜• ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

Last updated