์น ์๋ฆฌ๋จผํธ๋ฅผ ์ฐพ์๋ค๋ฉด, ์ฌ์ฉ์ ์ก์ ์ ์ทจํ๊ฒ ํด์ผ ํ ์คํธ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ ์๋ค. ์๋ฆฌ๋จผํธ์ ํ ์ ์๋ ๋ค์ํ ์ฌ์ฉ์ ์ก์ ์ ์์๋ณด์.
์น ์๋ฆฌ๋จผํธ๋ง๋ค ์ทจํ ์ ์๋ ์ฌ์ฉ์ ์ก์ ์ด ๋ค๋ฅด๋ค. ํ ์คํธ ๋ฐ์ค ์๋ฆฌ๋จผํธ์๋ ๋ฌธ์ ์ ๋ ฅ, ๋ฌธ์ ์ญ์ ๋ฅผ ํ ์ ์๊ณ , ๋ฒํผ ์๋ฆฌ๋จผํธ์๋ ํด๋ฆญ, ๋ฒํผ์ ํฌ๊ธฐ ๊ตฌํ๊ธฐ ๋ฑ์ ํ ์ ์๋ค.
์น ์๋ฆฌ๋จผํธ์ ์ ํจํ์ง ์์ ์ฌ์ฉ์ ์ก์ ์ ๋ฃ๋๋ผ๋, ์น๋๋ผ์ด๋ฒ๊ฐ ๋ฌด์ํ๋ค. (์ค๋ฅ ๋์ง ์๋๋ค.)
์น ์๋ฆฌ๋จผํธ์์ ์ก์ ์คํ
์น ์๋ฆฌ๋จผํธ์ ์ฌ์ฉ์ ์ก์ ์ ์คํํ๋ ๊ฒ์ ์๋ํ ์์ ์ ํต์ฌ์ด๋ค. ์๋ํ๋ ์ฌ์ฉ์์ ํ๋์ ๊ทธ๋๋ก ์ฎ๊ฒจ์ ์ปดํจํฐ๊ฐ ํ๊ฒ ๋ง๋๋ ์์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
์ฌ์ฉ์ ์ก์ ์ ์ฌ์ฉํ๋ ๋ฉ์๋๋ฅผ ์์๋ณด์.
๋ค์ด๋ฒ ๋ฉ์ธ ํํ์ด์ง์ ๊ฒ์์ฐฝ ์๋ฆฌ๋จผํธ๋ฅผ ์ด์ฉํด์ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ ๊ฒ์ด๋ค.
<input id="query" name="query" type="text" title="๊ฒ์์ด ์
๋ ฅ" maxlength="255"
class="input_text" tabindex="1" accesskey="s" style="ime-mode:active;"
autocomplete="off" placeholder="๊ฒ์์ด๋ฅผ ์
๋ ฅํด ์ฃผ์ธ์."
onclick="document .getElementById('fbm').value=1;" value="" data-atcmp-element="">
sendKey()
sendKey ๋ฉ์๋๋ ํ ์คํธ ๋ฐ์ค๋ ํ ์คํธ ์์ญ ์๋ฆฌ๋จผํธ์์ ์ฌ์ฉํ๋ค. ํ ์คํธ๋ฅผ ์ ๋ ฅํ๋ ์ฌ์ฉ์ ์ก์ ์ ์๋ฎฌ๋ ์ด์ ํ๋ค.
์ ๋ ฅ ํ๋ผ๋ฏธํฐ๋ ๋ฌธ์์ด์ด๊ณ , ๋ฐํ๊ฐ์ ์๋ค.
๊ฒ์์ฐฝ์ ํ ์คํธ๋ฅผ ์ ๋ ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์.
public void elementSendKeysExample() {
WebElement searchBox = driver.findElement(By.name("query"));
searchBox.sendKeys("Phones");
searchBox.submit();
assertThat(driver.getTitle())
.isEqualTo("Phones : ๋ค์ด๋ฒ ํตํฉ๊ฒ์");
}
Backspace๋ Enter, Tab, Shift ๋ฑ ํน์ํค ์ ๋ ฅ์ Keys๋ผ๋ ์ด๊ฑฐํ ์น๋๋ผ์ด๋ฒ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ค.
Shiftํค๋ฅผ ๋๋ฅธ ์ํ๋ก ๊ฒ์์ด๋ฅผ ๋๋ฌธ์๋ก ์ ๋ ฅํ๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค. ์๋ ์ฝ๋๋ '์์ด ์๋ฌธ์'์ ๋ ฅ ์ํ์ผ ๋, ์ํํด์ผ ์ ์ ์ํ๋๋ค. (ํด๋น ๋ถ๋ถ์ ๊ฐ์ ์ด ํ์ํด๋ณด์ธ๋ค.)
public void elementSendKeysCompositeExample() {
WebElement searchBox = driver.findElement(By.name("query"));
searchBox.sendKeys(Keys.chord(Keys.SHIFT,"phones"));
searchBox.submit();
assertThat(driver.getTitle())
.isEqualTo("PHONES : ๋ค์ด๋ฒ ํตํฉ๊ฒ์");
}
clear()
clear๋ sendKeys() ๋ฉ์๋์ ์คํ ๋์์ด ๊ฐ๋ค. ํ ์คํธ ๋ฐ์ค, ํ ์คํธ ์์ญ์ด๋ค.
ํ ์คํธ ์์ญ์ ์ ๋ ฅํ ๋ฌธ์์ด์ ์ง์ธ ์ ์๋ค.
public void elementClearExample() {
WebElement searchBox = driver.findElement(By.name("query"));
searchBox.sendKeys("phones");
searchBox.clear();
}
submit()
submit์ ํผ์ด๋ ํผ์๋ฆฌ๋จผํธ ์์ชฝ์ ์๋ฆฌ๋จผํธ๋ฅผ ๋์์ผ๋ก ์คํํ๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ก ํผ์ ์ ์ถํ๋ ค๋ฉด ํด๋น ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
submit์ ์ฌ์ฉํ ์๋ฆฌ๋จผํธ๋ ํญ์ ํผ ์๋ฆฌ๋จผํธ ์์ ์์ด์ผ ํ๋ค.
ํผ ์์ ์กด์ฌํ์ง ์๋ ์๋ฆฌ๋จผํธ์ ์คํํ๋ฉด NoSuchElementException์ด ๋ฐ์ํ๋ค.
๊ฒ์ ํ์ด์ง๋ก ํผ์ ์ ์ถํ๋ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์.
public void elementSubmitExample() {
WebElement searchBox = driver.findElement(By.name("query"));
searchBox.sendKeys("phones");
searchBox.submit();
}
ํจ๊ป ๋ณด๋ฉด ์ข์ ๊ธ
Selenium ์๋ฆฌ๋จผํธ์ ์ํ ํ์ธ, ํ์ฑํ ๋นํ์ฑํ ํด๋ฆญ ๊ฐ๋ฅ ์ฌ๋ถ
ํ์ฌ ์น์๋ฆฌ๋จผํธ์ ์ํ๋ฅผ ํ์ธํ ์ ์๋ ๋ฉ์๋ 3๊ฐ์ง๋ฅผ ์๊ฐํ๋ค. java์์ ์ฌ์ฉํ๋ ์ด๋ฆ์ ๊ธฐ์ค์ผ๋ก ์ ์ด๋์๋ค. ์๋์ ์ธ ๊ฐ์ง ํจ์๋ฅผ ํตํด ์๋ฆฌ๋จผํธ๊ฐ ๋ณด์ด๋์ง, ํด๋ฆญ ๊ฐ๋ฅํ ์ํ์ธ์ง,
dev-yujin.tistory.com
Selenium ์๋ฆฌ๋จผํธ ์์ฑ ๊ฐ์ ธ์ค๊ธฐ HTML get ์์ฑ , java
ํ ์คํธ๋ฅผ ์ํ๋ ์๋ฆฌ๋จผํธ์ ํน์ ํ Attribute, Text, Size, CssSelector ๋ฑ์ ์์ฑ๋ค์ ์์์ผํ ๋๊ฐ ์๋ค. ์ด๋ ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋์ ๋ํด ๊ณต๋ถํด๋ณด์. getAttribute() getAttribute() ๋ฉ์๋๋ ๋ชจ๋ ์น ์
dev-yujin.tistory.com
'SQA > Automation' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Selenium ํค๋๋ฆฌ์ค ๋ชจ๋ ์ฌ์ฉ๋ฒ Headless Mode (0) | 2023.04.22 |
---|---|
Selenium ์๋ฆฌ๋จผํธ์ ์ํ ํ์ธ, ํ์ฑํ ๋นํ์ฑํ ํด๋ฆญ ๊ฐ๋ฅ ์ฌ๋ถ (0) | 2023.04.21 |
Selenium ์๋ฆฌ๋จผํธ ์์ฑ ๊ฐ์ ธ์ค๊ธฐ HTML get ์์ฑ , java (0) | 2023.04.19 |
Selenium ์๋ฆฌ๋จผํธ ์์ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ By ์ง์ ์, java (0) | 2023.04.18 |
Selenium ์น ์๋ฆฌ๋จผํธ ์ฐพ๊ธฐ FindElement , java (0) | 2023.04.16 |