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

SQA/Automation

(23)
Selenium ์—˜๋ฆฌ๋จผํŠธ ์š”์†Œ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ By ์ง€์ •์ž, java ์…€๋ ˆ๋‹ˆ์›€์—์„œ ์›น ์ž๋™ํ™”๋ฅผ ํ•˜๋ฉด์„œ, ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ๊ธฐ์œ„ํ•ด findElement ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด์ œ findElement ์•ˆ์—๋Š” HTML element์˜ ์š”์†Œ๊ฐ’์„ ์ธ์ž๋กœ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ, HTML element Locator ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์†Œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ, ์ด๊ฒƒ์€ By ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค ์ฟผ๋ฆฌ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค. By ์ง€์ •์ž? By Locator ๋ผ๊ณ ๋„ ํ•œ๋‹ค. findElement(), findElements() ๋ฉ”์„œ๋“œ๋Š” By์ง€์ •์ž๋ฅผ ์ธ์ž๋กœ ์ฃผ์–ด ์›น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ์ง€์ •์ž์˜ ์ข…๋ฅ˜๋Š” 8๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ID, Name, ClassName, LinkText, LinkText, LinkText์˜ ์ผ๋ถ€๋ถ„, XPath, CSS ์„ ํƒ์ž์ด๋‹ค. ์ด์ œ ๊ฐ ์ง€์ •์ž์˜ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. By.id()์™€ By.na..
Selenium ์›น ์—˜๋ฆฌ๋จผํŠธ ์ฐพ๊ธฐ FindElement , java ์›น ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด์„œ ์›น์—˜๋ฆฌ๋จผํŠธ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์€ ์•„์ฃผ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์…€๋ ˆ๋‹ˆ์›€์—์„œ๋Š” FindElement, FindElements ๋ฅผ ํ†ตํ•ด ์•„์ฃผ ์‰ฝ๊ฒŒ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋Š˜์€ ์ด ๋ถ€๋ถ„์„ ํฌ์ŠคํŒ…ํ•ด๋ณด๋ ค ํ•œ๋‹ค. ์›น ์—˜๋ฆฌ๋จผํŠธ? ์›น ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๋ฌด์—‡์ผ๊นŒ? ์›น ํŽ˜์ด์ง€๋Š” ๋ฒ„ํŠผ, ๋งํฌ, ํผ ๋“ฑ ๋‹ค์–‘ํ•œ HTML ์—˜๋ฆฌ๋จผํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ด๊ฒƒ์„ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ผ๊ณ  ํ•œ๋‹ค. UI ์ž๋™ํ™”๋Š” ๋Œ€๋ถ€๋ถ„ ์›น ํŽ˜์ด์ง€์—์„œ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ์•„์„œ ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ๋œ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” findElement(), findElements() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณธ๋‹ค. ๋‚˜๋Š” java์–ธ์–ด๋กœ ์ž๋™ํ™”๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ์— java์–ธ์–ด๋กœ ์ž‘์„ฑํ•œ๋‹ค. findElement() ๋ฉ”์„œ๋“œ java ์–ธ์–ด์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ..
Maven ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ TestNG class ์ƒ์„ฑ ๋ฐฉ๋ฒ• ์˜ˆ์ œ ์ €๋ฒˆ ํฌ์ŠคํŠธ์—์„œ ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ตฌ์„ฑ์„ ์œ„ํ•œ ์ค€๋น„๋ฅผ ๋๋ƒˆ๋‹ค๋ฉด, ์˜ค๋Š˜์€ ๋ฉ”์ด๋ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , TestNG ํด๋ž˜์Šค๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ, ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ๊ฐ€์ด๋“œ๋Š” ์ดํด๋ฆฝ์Šค ํ™˜๊ฒฝ์—์„œ ์ˆ˜ํ–‰ํ•œ๋‹ค. Maven ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐฉ๋ฒ• 1. ์ดํด๋ฆฝ์Šค ์‹คํ–‰ 2. File > New > Other ์— ๋“ค์–ด๊ฐ€์„œ Maven > Maven Project ์„ ํƒ 3. Create a simple project ์— ์ฒดํฌํ•˜๊ณ  Next 4. New Maven Project ๋‹ค์ด์–ผ๋กœ๊ทธ Group id, Artifact id ๋ฅผ ์ž„์˜๋กœ ์ž…๋ ฅํ•ด์ฃผ๊ณ , Finish๋ฅผ ํด๋ฆญํ•œ๋‹ค. Group id๋Š” com.example ์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ํŒจํ‚ค์ง€๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. Artifact id๋Š” test1 ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์„ค์ •ํ•ด์ฃผ..
Selenium ์ž๋™ํ™” ํ™˜๊ฒฝ ์„ค์ •, maven TestNG ChromeDriver ์…€๋ ˆ๋‹ˆ์›€ ์ž๋™ํ™”๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์•„๋ž˜ ๊ณผ์ •์„ ๋”ฐ๋ผํ•˜๋ฉฐ ์…‹ํŒ…์„ ํ•ด๋ณด์ž. ๋‚˜๋Š” java์–ธ์–ด๋กœ ์ž๋™ํ™”๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ดํด๋ฆฝ์Šค์™€ ๋ฉ”์ด๋ธ, TestNG, ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์…‹ํŒ…์— ํ•„์š”ํ•œ Eclipse๋Š” ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์ง„ํ–‰ํ•œ๋‹ค. ์ž๋ฐ” ํ”„๋กœ์ ํŠธ ์„ค์ • - ์…€๋ ˆ๋‹ˆ์›€ ์›น ๋“œ๋ผ์ด๋ฒ„๋Š” ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”๋ฅผ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋‹ค. - ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (1) ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ(IDE) (2) ์ž๋ฐ” ํ”„๋กœ์ ํŠธ์— ์…€๋ ˆ๋‹ˆ์›€ ์›น๋“œ๋ผ์ด๋ฒ„ ์˜์กด์„ฑ ์ถ”๊ฐ€ - ์šฐ๋ฆฌ๋Š” ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ์€ ์ดํด๋ฆฝ์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ดํด๋ฆฝ์Šค(eclipse)๋Š” ์ž๋ฐ” ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ์ด๋‹ค. ์…€๋ ˆ๋‹ˆ์›€ ์›น๋“œ๋ผ์ด๋ฒ„ ํ…Œ์ŠคํŠธ ๊ฐœ๋ฐœ์— ์‚ฌ์šฉํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. - ๋ฉ”์ด๋ธ(maven)์€ ์ดํด๋ฆฝ์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ…Œ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ์ƒ๋ช… ์ฃผ๊ธฐ..