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

SQA/Automation

Selenium ์›น ์—˜๋ฆฌ๋จผํŠธ ์ฐพ๊ธฐ FindElement , java

์›น ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด์„œ ์›น์—˜๋ฆฌ๋จผํŠธ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์€ ์•„์ฃผ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์…€๋ ˆ๋‹ˆ์›€์—์„œ๋Š” FindElement, FindElements ๋ฅผ ํ†ตํ•ด ์•„์ฃผ ์‰ฝ๊ฒŒ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋Š˜์€ ์ด ๋ถ€๋ถ„์„ ํฌ์ŠคํŒ…ํ•ด๋ณด๋ ค ํ•œ๋‹ค.

 

find-webelement
find-webelement

 

 

์›น ์—˜๋ฆฌ๋จผํŠธ?

์›น ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๋ฌด์—‡์ผ๊นŒ? ์›น ํŽ˜์ด์ง€๋Š” ๋ฒ„ํŠผ, ๋งํฌ, ํผ ๋“ฑ ๋‹ค์–‘ํ•œ HTML ์—˜๋ฆฌ๋จผํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ด๊ฒƒ์„ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ผ๊ณ  ํ•œ๋‹ค. 

UI ์ž๋™ํ™”๋Š” ๋Œ€๋ถ€๋ถ„ ์›น ํŽ˜์ด์ง€์—์„œ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ์•„์„œ ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ๋œ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” findElement(), findElements() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณธ๋‹ค. ๋‚˜๋Š” java์–ธ์–ด๋กœ ์ž๋™ํ™”๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ์— java์–ธ์–ด๋กœ ์ž‘์„ฑํ•œ๋‹ค.

 

findElement() ๋ฉ”์„œ๋“œ

java ์–ธ์–ด์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

WebElement searchBox = driver.findElement(By.name("q"));

 

driver ๋ณ€์ˆ˜๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ž‘์„ฑํ•˜์˜€๋‹ค.

WebElement ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ๋ณ€์ˆ˜ type์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด๋œ๋‹ค.

findElement()๋Š” html ํƒœ๊ทธ์— ์˜ํ•ด ์›ํ•˜๋Š” ์›น ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. by์ง€์ •์ž์˜ ์กฐ๊ฑด์— ๋งž๋Š” ์›น ์—˜๋ฆฌ๋จผํŠธ ์ค‘ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์—ฌ๊ธฐ์—์„œ By.name() ์€ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ nameํƒœ๊ทธ๋กœ ์ฐพ๋„๋ก ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค.

 

by์ง€์ •์ž์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ์—˜๋ฆฌ๋จผํŠธ์˜ ์š”์†Œ๋Š” ๊ฐœ๋ฐœ์ž๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ธ€(๋งํฌ)์„ ์ฐธ๊ณ ํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

findElements() ๋ฉ”์„œ๋“œ

์œ„์— ์‚ฌ์šฉํ–ˆ๋˜ ๋ฉ”์„œ๋“œ์— s๊ฐ€ ๋ถ™์€ ๋ฉ”์„œ๋“œ์ด๋‹ค.

findElements๋Š” ํ•œ ํŽ˜์ด์ง€ ์•ˆ์—์„œ ์ง€์ •์ž์— ํ•ด๋‹นํ•˜๋Š” ๋ชจ๋“  ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฆฌ์ŠคํŠธ์— ๋‹ด์•„์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๊ฒฐ๊ณผ ๊ฐ’์ด ์—†๋Š” ๊ฒฝ์šฐ, ๋นˆ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.

 

 

 


ํ•จ๊ป˜ ๋ณด๋ฉด ์ข‹์€ ๊ธ€

 

Selenium ์—˜๋ฆฌ๋จผํŠธ ์š”์†Œ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ By ์ง€์ •์ž, java

์…€๋ ˆ๋‹ˆ์›€์—์„œ ์›น ์ž๋™ํ™”๋ฅผ ํ•˜๋ฉด์„œ, ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ๊ธฐ์œ„ํ•ด findElement ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด์ œ findElement ์•ˆ์—๋Š” HTML element์˜ ์š”์†Œ๊ฐ’์„ ์ธ์ž๋กœ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ, HTML element Locator ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์†Œ ๊ฐ’

dev-yujin.tistory.com