E2E - ChoDragon9/posts GitHub Wiki

์šฉ์–ด์ •๋ฆฌ

  • ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ : ๋„คํŠธ์›Œํฌ์ƒ์—์„œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์ปดํ“จํ„ฐ
  • Selenium : ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ ํˆด๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ํฌ๊ด„ํ•˜๋Š” ๋ฒ”์œ„์˜ ํ”„๋กœ์ ํŠธ์ด๋‹ค.
  • WebDriver : W3C WebDriver API๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ฐ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋™์ž‘์„ ์ œ์–ด ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”Œ๋žซํผ ๋ฐ ์–ธ์–ด ์ค‘๋ฆฝ ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ์™€์ด์–ด ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
  • ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ
    • ์†Œํ”„ํŠธ์›จ์–ด ์ „๋ฐ˜์ด ์ œ๋Œ€๋กœ ๋Œ์•„๊ฐ€๋Š” ์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ
    • ๊ณ ๊ฐ์—๊ฒŒ ํ’ˆ์งˆ ๋ณด์ฆ๋งŒ ํ•  ๋ฟ ์ƒ์‚ฐ์„ฑ๊ณผ๋Š” ๋ฌด๊ด€
    • ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ๋ณ„๋„์˜ ๋ฒ„๊ทธ ๋ฐœ๊ฒฌ ์ „๋ฌธํŒ€์ด ๊ฐœ๋ฐœํ•ด์•ผ ํ•จ
    • ์‹œ์Šคํ…œ ์ „๋ฐ˜์„ ์ตœ๋Œ€ํ•œ ๋ธ”๋ž™๋ฐ•์Šค๋กœ ์ทจ๊ธ‰

E2E ํ…Œ์ŠคํŠธ ๋ชฉ์ 

  • ์‚ฌ์šฉ์ž ๊ด€์  ํ…Œ์ŠคํŠธ ์ž๋™ํ™”
  • ์‹œ๊ฐ์  ๋ณ€๊ฒฝ ํ…Œ์ŠคํŠธ ์ž๋™ํ™”
  • ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

Puppeteer

Install

npm i puppeteer

Usage

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({headless: false});
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});

  await browser.close();
})();
node example.js

Chrome Plugin

Puppeteer Recorder๋ผ๋Š” ํฌ๋กฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•ด ๋ ˆ์ฝ”๋”ฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.