자동화 테스트를 하기위해 만들어졌다는 Selenium 으로 자동 로그인을 해보자.

 

1. 크롬드라이버 설치

 

2. Selenium Library Import 

 byte-buddy-1.8.15.jar
 client-combined-3.141.59.jar
 commons-exec-1.3.jar
 guava-25.0-jre.jar
 okhttp-3.11.0.jar
 okio-1.14.0.jar

3. System 셋팅  & 네이버로 로그인페이지로 이동

 

System.setProperty("webdriver.chrome.driver", "C:/chromedriver.exe");

WebDriver driver1 = new ChromeDriver();

driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https%3A%2F%2Fwww.naver.com"); //네이버로그인

 

4. 아이디 넣고, 비밀번호 넣고 Submit! 하면 끝날줄 알았는데.... 자동로그인방지에 걸리네용.

 

WebElement webElement = driver.findElement(By.id("id"));

webElement.sendKeys("value", "네이버아이디");

pasteClipBoard(webElement , naverId , driver);
Thread.sleep(1000);

webElement = driver.findElement(By.id("pw"));
webElement.sendKeys("value", "네이버비밀번호");

Thread.sleep(1000);

webElement = driver.findElement(By.id("log.login"));
webElement.submit();

 

5. 아이디. 비밀번호 입력을 클립보드를 이용해 넣으면, 자동로그인에 걸리지 않는다!.

4번을 수정해보자.

/** 로그인 시작 */
WebElement webElement = driver.findElement(By.id("id"));
pasteClipBoard(webElement , naverId , driver);
Thread.sleep(1000);

webElement = driver.findElement(By.id("pw"));
pasteClipBoard(webElement , naverPassWord, driver);
Thread.sleep(1000);
webElement = driver.findElement(By.id("log.login"));
webElement.submit();

 

/**
* 클립보드 복사
* @param webElement
* @param clipBoardString
*/
public void pasteClipBoard(WebElement webElement , String clipBoardString , WebDriver driver){
Actions actions = new Actions(driver);
webElement.click();
StringSelection stringSelection = new StringSelection(clipBoardString);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, null);
actions.keyDown(webElement, Keys.LEFT_CONTROL).perform();
actions.sendKeys(webElement,"v").perform();
}

+ Recent posts