SQA/Automation (23) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ Selenium ํค๋๋ฆฌ์ค ๋ชจ๋ ์ฌ์ฉ๋ฒ Headless Mode ์๋ํ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด ๋ณธ ์ฌ๋์ ์๊ฒ ์ง๋ง, ํ ๋ฒ ํ ์คํธ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ฉด ์ค์ ์น ๋๋ผ์ด๋ฒ๊ฐ ์คํ๋๋ฉด์ ํ ์คํธ๋ฅผ ์คํํ๋ค. ํ์ง๋ง, ๋งค๋ฒ ์ด ํ ์คํธ๋ฅผ ์ง์ ํ์ธํด์ผ ํ๋ ๊ฒ์ ์๋๋ค. ์ด ์นํ์ด์ง๋ฅผ ๋์ฐ์ง ์๊ณ ํ ์คํธ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด ๋ณผ ์๋ ์๋ค. ๊ทธ๋ ํค๋๋ฆฌ์ค ๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ํค๋๋ฆฌ์ค ๋ชจ๋ ์น๋๋ผ์ด๋ฒ ์๋ํ ํ ์คํธ๋ฅผ ์คํํ๋ ๋ฐ ์๋นํ ์ ์ฉํ๋ค. ์ ์์ ์ผ๋ก ์คํ๋๋ฉด์๋ UI๊ฐ ๋ณด์ด์ง ์์ ๋น ๋ฅด๊ณ ํจ๊ณผ์ ์ผ๋ก ํ ์คํธ๋ฅผ ์คํํ๋ค. CI(์ง์์ ํตํฉ)ํ๊ฒฝ์์ ์ ์ฉํ๋ค. ๋์ค์ ํ ์คํธ ์๋ ๋ฐฐํฌ๋ฅผ ์ ์ฉํ ๋๋ ํค๋๋ฆฌ์ค ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋น ๋ฅผ ๊ฒ์ด๋ค. Chrome ์์ ํค๋๋ฆฌ์ค ๋ชจ๋ ์ฌ์ฉ ChromeOptions ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด์ setHeadless() ๋ฉ์๋๋ฅผ true๋ก ์ค์ .. Selenium ์๋ฆฌ๋จผํธ์ ์ํ ํ์ธ, ํ์ฑํ ๋นํ์ฑํ ํด๋ฆญ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ฌ ์น์๋ฆฌ๋จผํธ์ ์ํ๋ฅผ ํ์ธํ ์ ์๋ ๋ฉ์๋ 3๊ฐ์ง๋ฅผ ์๊ฐํ๋ค. java์์ ์ฌ์ฉํ๋ ์ด๋ฆ์ ๊ธฐ์ค์ผ๋ก ์ ์ด๋์๋ค. ์๋์ ์ธ ๊ฐ์ง ํจ์๋ฅผ ํตํด ์๋ฆฌ๋จผํธ๊ฐ ๋ณด์ด๋์ง, ํด๋ฆญ ๊ฐ๋ฅํ ์ํ์ธ์ง, ์ ํ๋์ด ์๋์ง ํ์ธ์ด ๊ฐ๋ฅํ๋ค. isDisplayed() ์๋ฆฌ๋จผํธ๊ฐ ํ์ด์ง์ ์กด์ฌํ๊ณ , ์ก์ ์ ์คํํ ์ ์๋ ์ํ์ธ์ง ๊ฒ์ฌํ๊ณ , boolean ๊ฐ์ ๋ฐํํ๋ค. ํ์ด์ง์ ์กด์ฌํ๋ค๋ ๊ฒ์ ์ฌ์ฉ์๊ฐ ๋ณด์ด๊ฒ ํ์ด์ง์ ๋ณด์ด๋๊ฐ ์ด๋ค. ํ์ด์ง์ ๋ณด์ฌ์ผ ์๋ฆฌ๋จผํธ๋ฅผ click ํ ์ ์๋ค. isEnabled() ๋์ ์๋ฆฌ๋จผํธ์ ํ์ฑํ ์ฌ๋ถ๋ฅผ boolean ๊ฐ์ผ๋ก ๋ฐํํ๋ค. ํ์ฑํ ์ฌ๋ถ๋ ํด๋ฆญ(click) ๋์์ด ๊ฐ๋ฅํ ์ํ์ธ๊ฐ๋ฅผ ๋งํ๋ค. ์๋ฆฌ๋จผํธ๋ ๋ณด์ด๋ฉด์, ํ์ฑํ๊ฐ ๋์ด์์ผ๋ฉด ํด๋ฆญ ๊ฐ๋ฅํ๋ค๊ณ ๋ณผ ์ ์๋ค. ์ฆ, isDispl.. Selenium ์ฌ์ฉ์ ์ก์ ์คํ sendKey clear submit ์น ์๋ฆฌ๋จผํธ๋ฅผ ์ฐพ์๋ค๋ฉด, ์ฌ์ฉ์ ์ก์ ์ ์ทจํ๊ฒ ํด์ผ ํ ์คํธ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ ์๋ค. ์๋ฆฌ๋จผํธ์ ํ ์ ์๋ ๋ค์ํ ์ฌ์ฉ์ ์ก์ ์ ์์๋ณด์. ์น ์๋ฆฌ๋จผํธ๋ง๋ค ์ทจํ ์ ์๋ ์ฌ์ฉ์ ์ก์ ์ด ๋ค๋ฅด๋ค. ํ ์คํธ ๋ฐ์ค ์๋ฆฌ๋จผํธ์๋ ๋ฌธ์ ์ ๋ ฅ, ๋ฌธ์ ์ญ์ ๋ฅผ ํ ์ ์๊ณ , ๋ฒํผ ์๋ฆฌ๋จผํธ์๋ ํด๋ฆญ, ๋ฒํผ์ ํฌ๊ธฐ ๊ตฌํ๊ธฐ ๋ฑ์ ํ ์ ์๋ค. ์น ์๋ฆฌ๋จผํธ์ ์ ํจํ์ง ์์ ์ฌ์ฉ์ ์ก์ ์ ๋ฃ๋๋ผ๋, ์น๋๋ผ์ด๋ฒ๊ฐ ๋ฌด์ํ๋ค. (์ค๋ฅ ๋์ง ์๋๋ค.) ์น ์๋ฆฌ๋จผํธ์์ ์ก์ ์คํ ์น ์๋ฆฌ๋จผํธ์ ์ฌ์ฉ์ ์ก์ ์ ์คํํ๋ ๊ฒ์ ์๋ํ ์์ ์ ํต์ฌ์ด๋ค. ์๋ํ๋ ์ฌ์ฉ์์ ํ๋์ ๊ทธ๋๋ก ์ฎ๊ฒจ์ ์ปดํจํฐ๊ฐ ํ๊ฒ ๋ง๋๋ ์์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ฌ์ฉ์ ์ก์ ์ ์ฌ์ฉํ๋ ๋ฉ์๋๋ฅผ ์์๋ณด์. ๋ค์ด๋ฒ ๋ฉ์ธ ํํ์ด์ง์ ๊ฒ์์ฐฝ ์๋ฆฌ๋จผํธ๋ฅผ ์ด์ฉํด์ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑ.. Selenium ์๋ฆฌ๋จผํธ ์์ฑ ๊ฐ์ ธ์ค๊ธฐ HTML get ์์ฑ , java ํ ์คํธ๋ฅผ ์ํ๋ ์๋ฆฌ๋จผํธ์ ํน์ ํ Attribute, Text, Size, CssSelector ๋ฑ์ ์์ฑ๋ค์ ์์์ผํ ๋๊ฐ ์๋ค. ์ด๋ ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋์ ๋ํด ๊ณต๋ถํด๋ณด์. getAttribute() getAttribute() ๋ฉ์๋๋ ๋ชจ๋ ์น ์๋ฆฌ๋จผํธ์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ์์ฑ ์ด๋ฆ์ ๋ฌธ์์ด ํ์ ์ ์ธ์๋ก ๋ฐ๋๋ค. ๋ฐํ ํ์ ๋ ์์ฑ๊ฐ์ ๋ฌธ์์ด๋ก ๋ฐํํ๋ค. ์๋๋ ๋ค์ด๋ฒ ํํ์ด์ง์ ๊ฒ์ ํ๋(์ ๋ ฅ์ฐฝ) Element์ด๋ค. ํด๋น ์๋ฆฌ๋จผํธ์ ์์ฑ๊ฐ์ ์๊ณ ์ถ์ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ด ์ถ๋ ฅํด๋ณผ ์ ์๋ค. public void elementGetAttributesExample() { WebElement searchBox = driver.findElement(By.name("query")); System.out.p.. ์ด์ 1 2 3 4 5 6 ๋ค์