์ผ๋ถ ๋ธ๋ผ์ฐ์ ํ์ฅ ๋ฐ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ํ์ด์ง๋ฅผ ํ ์คํธํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฌ๋ Webdriverio๊ฐ ์ฌ๋ ๋ธ๋ผ์ฐ์ ์ธ์คํด์ค์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ํ์ฅ์ด ์ ๊ฑฐ๋์ด ํ ์คํธ๊ฐ ์คํจํฉ๋๋ค. Chrome์์ --user-data-dir์ chromeOptions์ ์ ๋ฌํ์ฌ ๊ธฐ๋ณธ ํ๋กํ์๋ก๋ํ๋ ค๊ณ ์๋ํ์ง๋ง chrome : // version / ์ด ํ๋กํ์ด๋ก๋๋์๋์ง ํ์ธํ๋ ๋์์ด๋ฅผ ์ฌ์ ์ํ๋ ๋ช ๋ น ์ค ์ต์ ์ด ๋ง์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด ํ์ฅ์ ์์ง ์ฌ๋ผ์ก์ต๋๋ค. Firefox์์๋ ํ์ฅ ๊ธฐ๋ฅ์ด ์ ๊ฑฐ๋๊ณ ๋ชจ๋ ํ๋ฌ๊ทธ์ธ์ด "ํ์ฑํ ์์ฒญ"์ผ๋ก ์ค์ ๋ฉ๋๋ค. ์ด์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
chromeOptions.extensions
๋ฅผ ํตํด Chrome ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ถ๊ฐ ํ ์ ์ด ์์ต๋๋ค. ํ์ฅ์ base64๋ก ์ํธํํ๊ณ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ํ ํ ์ ์์ต๋๋ค. ๊ทธ ์ธ์๋ Selenium์ ํ์ฅ์ ๋ํ ๋ ์ด์ ๊ฒฝํ์ด ์์ผ๋ฉฐ ๊ธฐ์กด ์ฌ์ฉ์ ํ๋กํ์๋ก๋ํ๋ ค๊ณ ์๋ํ ์ ์ด ์์ต๋๋ค. ์ํ๋ ๊ธฐ๋ฅ์ ์ด๋ป๊ฒ ์ค์ ํฉ๋๊น?
์ด๊ฒ์ ํ๋ฌ๊ทธ์ธ์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์๋ฅผ ๋ค์ด HTML5 ๋์์ ๋์ฒด ํ๋ ์ด์ด๊ฐ ์๋ํ๋์ง ํ ์คํธํ๋ ค๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋ฉ๋๋ค. ๋ณ๋์ ์ฌ์ฉ์ ํ๋กํ์ด ์๋ ๊ธฐ๋ณธ ํ๋กํ์๋ก๋ํ๋ ค๊ณ ํ์ง๋ง webdriver๊ฐ ํ๋ฌ๊ทธ์ธ ๋ฐ ํ์ฅ์ ๋นํ์ฑํํ๊ธฐ ์ํด ์ฌ์ฉ์ ์ง์ ํ๋๊ทธ๋ฅผ ์ค์ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ๋ ๋ฐฉ๋ฒ์ ์์ญ๋๊น?
mhm .. ํ๋๊ทธ๊ฐ ์๋ํ์ง ์์ผ๋ฉด ์์ด๋์ด๊ฐ ์์ต๋๋ค. ์ด ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์์ต๋๋ค. ์ํฉ์ ์ข ๋ ์์ธํ ์ค๋ช ํด ์ฃผ์๊ฒ ์ต๋๊น? ์ฌ์ ํ ์ฌ๊ธฐ์ ํ์ฅ ์ญํ ์ด ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋๋ ์ด๊ฒ์ด WebdriverIO ๋ฌธ์ ๋ณด๋ค Selenium ๋ฌธ์ ์ ๋ ๊ฐ๊น๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ช ํํ๊ฒํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ์ ๋ณด๋ฅผ ์กฐ๊ธ ๋ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
ํน์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๊ฑฐ๋ ์ถฉ์กฑ๋์ง ์๋ ๊ฒฝ์ฐ์๋ HTML5 ๋น๋์ค ํด๋ฆฌ ํ์ด Flash๋ก ๋์๊ฐ๊ณ ๊ธฐ๋ฅ์ด ์ฌ์ ํ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋์ง ํ ์คํธํ๊ณ ์ถ์ต๋๋ค. ๊ธฐ๋ณธ ํ๋กํ์ Flash์๋ก๋๋ฅผ ์ ํ ์ฐจ๋จํ๋ฏ๋ก ์ด๋ฌํ ํ ์คํธ๋ ํญ์ ์คํจํฉ๋๋ค.
2014 ๋ 10 ์ 27 ์ผ ์คํ 1์ 48 ๋ถ์ Christian Bromann [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
mhm .. ํ๋๊ทธ๊ฐ ์๋ํ์ง ์์ผ๋ฉด ์์ด๋์ด๊ฐ ์์ต๋๋ค. ์ด ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์์ต๋๋ค. ์ํฉ์ ์ข ๋ ์์ธํ ์ค๋ช ํด ์ฃผ์๊ฒ ์ต๋๊น? ์ฌ์ ํ ์ฌ๊ธฐ์ ํ์ฅ ์ญํ ์ด ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
๋์์ด ๋ ์ ์๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์๋ก๋ ํ ์ ์์ต๋๋ค.
desiredCapabilities: {
browserName: 'chrome',
"chromeOptions": {
"args": [
"load-extension="+__dirname+"/test/extensions/adblock",
"lang=de-DE","window-size=1280,800"]
}
}
์์ถ๋์ง ์์ adblock chrome ํ์ฅ์ ๊ฐ๋ฆฌํค๋ ํ์ฅ ๊ฒฝ๋ก (๋ด ์ปดํจํฐ์ google OS X ์์ฉ ํ๋ก๊ทธ๋จ ์ง์ ๋๋ ํ ๋ฆฌ์์ ์ฐพ์์ต๋๋ค)
๋๋ฅผ ์ํด ๋ชจ๋ ๊ฒ์ด ์๋ํฉ๋๋ค. ๋๋ ์ด๊ฒ์ด ๋ํ ๋น์ ์ด ์ฌ์ฉํ๋ ๊ธฐ์ ์ ์ ์ฒด ์คํ์ ์ํฅ์๋ฐ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ด์ฐ ์คํ์ ํ ์คํธ๋ฅผ ์คํํ ๋๋ง๋ค ์ ํ๋กํ์ ๋ง๋ค๊ณ ์ดํ์ ์ญ์ ํฉ๋๋ค. ์ ๋ ๋์ ์คํํ๋ ๋์ ํ๋ก์ธ์ค๋ฅผ ๋ณด๋ ๊ฒ๋ง์ผ๋ก ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง ์ฝ๊ฒ ์ ์ ์์ผ๋ฉฐ, selenium-xxx.jar์ ๋ํ ๋ณ์ ๊ฒฝ๋ก๊ฐ ์ง์ ๋ฉ๋๋ค.
์ด๊ฒ์ด WebdriverIO๋ณด๋ค Selenium์ ๋ฌธ์ ์ด๋ฏ๋ก ๋ซ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋์์ด ๋ ์ ์๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์๋ก๋ ํ ์ ์์ต๋๋ค.
์์ถ๋์ง ์์ adblock chrome ํ์ฅ์ ๊ฐ๋ฆฌํค๋ ํ์ฅ ๊ฒฝ๋ก (๋ด ์ปดํจํฐ์ google OS X ์์ฉ ํ๋ก๊ทธ๋จ ์ง์ ๋๋ ํ ๋ฆฌ์์ ์ฐพ์์ต๋๋ค)