๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

SQA/Automation

(23)
Selenium ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ œ์–ด , ๋’ค๋กœ๊ฐ€๊ธฐ ์•ž์œผ๋กœ๊ฐ€๊ธฐ ์ƒˆ๋กœ๊ณ ์นจ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ์ค‘์— ํ•˜๋‚˜๋Š” ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋™์ž‘์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋™์ž‘์—๋Š” ํŽ˜์ด์ง€ ๋’ค๋กœ๊ฐ€๊ธฐ, ํŽ˜์ด์ง€ ์•ž์œผ๋กœ ๊ฐ€๊ธฐ, ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ ๋“ฑ์ด ์žˆ๋‹ค. ์–ด๋ ค์šด ๋ถ€๋ถ„์ด ์•„๋‹ˆ๋ฏ€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด์ž. ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ œ์–ด Navigate๋Š” ์›น๋“œ๋ผ์ด๋ฒ„์˜ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €์˜ ๋’ค๋กœ ๊ฐ€๊ธฐ๋‚˜ ์•ž์œผ๋กœ ๊ฐ€๊ธฐ, ์ƒˆ๋กœ๊ณ ์นจ ๋“ฑ์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ, ๋’ค๋กœ๊ฐ€๊ธฐ ๋™์ž‘์„ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŠน์ • ๋™์ž‘์„ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋’ค๋กœ ๊ฐ€๊ธฐ ํ•˜๋ฉด ๊ฐ•์ œ ๋กœ๊ทธ์•„์›ƒ์„ ํ•˜๋Š” ์˜ˆ์‹œ ๋“ฑ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž. ํฌ๋กฌ์—ด๊ธฐ > ๋„ค์ด๋ฒ„ํ™ˆ ์ด๋™ > ์›นํˆฐํ™ˆ ์ด๋™ > ๋’ค๋กœ ๊ฐ€๊ธฐ > ์•ž์œผ๋กœ ๊ฐ€๊ธฐ > ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ธฐ ์˜ˆ์ œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์•˜๋‹ค. @Test p..
Selenium ๋ธŒ๋ผ์šฐ์ € ์œˆ๋„์šฐ ์ฐฝ iframe ํฌ์ปค์‹ฑ ๋ฐฉ๋ฒ• , java ์›น์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•  ๋•Œ, ์šฐ๋ฆฌ๋Š” ํ•œ ๊ฐœ์˜ ์ฐฝ๋งŒ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ์ƒˆ์ฐฝ์œผ๋กœ ๋งํฌ๊ฐ€ ์ด๋™๋œ ๊ฒฝ์šฐ, ๊ทธ ์ฐฝ์—์„œ์˜ ๋™์ž‘์„ ๋งˆ์น˜๋ฉด ์ด์ „ ์ฐฝ์œผ๋กœ ๋Œ์•„์™€์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ํฌ์ปค์‹ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ด๋ฒˆ์—๋Š” ์œˆ๋„์šฐ ์ฐฝ๊ณผ iFrame ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. ์œˆ๋„์šฐ ์ฐฝ๊ณผ iFrame ์ง€์ • ์›น๋“œ๋ผ์ด๋ฒ„๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์—ด๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž์‹ ์œˆ๋„์šฐ ์ฐฝ, ๋ธŒ๋ผ์šฐ์ € ํƒญ, ํ”„๋ ˆ์ž„ ์‚ฌ์ด๋ฅผ ์ด๋™(ํฌ์ปค์‹ฑ)ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์‹œ๋กœ, ์€ํ–‰์ด๋‚˜ ๋ธ”๋กœ๊ทธ ์›น์—์„œ ๋งํฌ๋ฅผ ํด๋ฆญํ•ด ์ƒˆ์ฐฝ์„ ์—ด์—ˆ๋‹ค๊ฐ€, ๋‹ค์‹œ ์ด์ „ ์ฐฝ์œผ๋กœ ๋Œ์•„๊ฐ€์•ผํ•˜๋Š” ๊ฒฝ์šฐ ๋˜ ๋‹ค๋ฅธ ์˜ˆ์‹œ๋กœ, ํ”„๋ ˆ์ž„์„ ๋‘ ๊ฐœ๋กœ ๋‚˜๋ˆ  ์™ผ์ชฝ ํ”„๋ ˆ์ž„์—๋Š” ์•„์ดํ…œ ๋ชฉ๋ก์ด ์žˆ๊ณ , ์˜ค๋ฅธ์ชฝ ํ™”๋ฉด์—๋Š” ์•„์ดํ…œ ๋‚ด์šฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ์›น ํŽ˜์ด์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์…€๋ ˆ๋‹ˆ์›€ ์›น๋“œ๋ผ์ด๋ฒ„๋กœ ์œ„ ์˜ˆ์‹œ๋“ค์„ ํ…Œ์ŠคํŠธ..
Selenium ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ˆœ๊ฐ„ ์Šคํฌ๋ฆฐ์ƒท ์บก์ณ ๋ฐฉ๋ฒ• java ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ๋•Œ, ๋ณดํ†ต์€ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•œ ํ›„, quit() ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ driver๋ฅผ ์ข…๋ฃŒํ•˜๋„๋ก ์„ค๊ณ„ํ•œ๋‹ค. (์ด๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š์œผ๋ฉด ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์„ ๋๋‚ด๊ณ  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ข…๋ฃŒํ•ด์•ผ ํ•œ๋‹ค.) ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจ๋กœ ๋๋‚œ ๊ฒฝ์šฐ์—๋Š” ๋งˆ์ง€๋ง‰ ์ˆœ๊ฐ„์— ์–ด๋–ค ๋ถ€๋ถ„์ด ์ž˜ ๋™์ž‘ํ•˜์ง€ ์•Š์•„์„œ ์‹คํŒจํ–ˆ๋Š”์ง€ ๊ถ๊ธˆํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋Š” ์ž๋™์œผ๋กœ ํ™”๋ฉด์„ ์บก์ฒ˜ํ•ด ์ฃผ๋Š” ์Šคํฌ๋ฆฐ์ƒท ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด์„œ ํŒŒ์ผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์Šคํฌ๋ฆฐ์ƒท ์บก์ฒ˜ ๊ธฐ๋Šฅ์€ ์›น์•ฑ์— ๋Œ€ํ•œ ํ†ต์ œ ๋ฒ”์œ„๋ฅผ ๋„“ํ˜€์ฃผ๋Š” ์›น ๋“œ๋ผ์ด๋ฒ„์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์Šคํฌ๋ฆฐ์ƒท ์บก์ฒ˜ ์Šคํฌ๋ฆฐ์ƒท์„ ํ†ตํ•ด ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•œ ๋‹น์‹œ์˜ ์ƒํ™ฉ์„ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์›น๋“œ๋ผ์ด๋ฒ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ TakesScreenShot ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ชจ๋“  ์›น๋“œ๋ผ์ด๋ฒ„ ๊ตฌํ˜„์ฒด์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค...
Selenium ์›น์—์„œ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ ํ…Œ์ŠคํŠธ, ๋ชจ๋ฐ”์ผ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋„ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์ฒ˜๋Ÿผ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋„๊ตฌ์—๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋˜์–ด ์žˆ๋‹ค. ์‹ค์ œ ๋‹จ๋ง ์—†์ด๋„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์Šค๋งˆํŠธํฐ ๋‹จ๋ง์˜ ํ™˜๊ฒฝ์„ ํ…Œ์ŠคํŠธํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ์•ฑ ํ˜•ํƒœ์˜ ์„œ๋น„์Šค๋ผ๋ฉด ์ด ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์›น ํ˜•ํƒœ์˜ ์„œ๋น„์Šค์—์„œ๋Š” ์ ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค. Chrome์—์„œ ๋ชจ๋ฐ”์ผ ์• ๋ฎฌ๋ ˆ์ด์…˜ ์‚ฌ์šฉ ๋ชจ๋ฐ”์ผ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ชจ๋ฐ”์ผ ์• ๋ฎฌ๋ ˆ์ด์…˜ ์‚ฌ์šฉ๋ฒ• F12๋กœ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ์ผ ๋‹ค. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์ขŒ์ธก ์ƒ๋‹จ์˜ ๋ชจ๋ฐ”์ผ๊ธฐ๊ธฐ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•œ๋‹ค. ์ƒ๋‹จ์˜ ์˜ต์…˜๋“ค์„ ๋ณ€๊ฒฝํ•ด๋ณด๋ฉด์„œ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž์™€ ํ…Œ์Šคํ„ฐ๋Š” ์‹ค์ œ ๊ธฐ๊ธฐ ์—†์ด๋„ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ์›น์‚ฌ์ดํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค. ์…€๋ ˆ๋‹ˆ์›€์—์„œ ๋ชจ๋ฐ”์ผ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ํ™˜๊ฒฝ ํ…Œ์ŠคํŠธ ChromeOptions ์„ค์ •์œผ๋กœ ์…€..