금백조의 개발 블로그

[Selenium]웹 자동화를 위한 Selenium 개발 환경 구축2(feat. WebDriver 설치) 본문

Web/Selenium

[Selenium]웹 자동화를 위한 Selenium 개발 환경 구축2(feat. WebDriver 설치)

금백조 2021. 4. 25. 15:30
반응형

서론

 

이전에 작성했던 [Selenium]웹 자동화를 위한 Selenium 개발 환경 구축1(feat. Maven) 글에 이어서 2편을 작성했습니다. 2편에서는 Selenium 웹 자동화를 위해 필요한 WebDriver를 설치하고 프로젝트에서 WebDriver를 통해 자동화할 특정 사이트(예제에서는 매일경제 사이트)를 접속해보겠습니다. 각 브라우저들의 WebDriver가 존재하지만 이 글에선 Chrome 브라우저를 기준으로 진행하겠습니다. 이전 글을 읽지 않으신 분들을 위해 이전 글 링크를 남겨둡니다.

 

[실행 환경]

 

openJDK 1.8

Eclipse

Chrome 90.0.4430.85

 

[이전 글]

 

1. [Selenium] 웹 자동화를 위한 Selenium 개발 환경 구축1(feat. Maven)

goldswan.tistory.com/17?category=475248

 

[Selenium]웹 자동화를 위한 Selenium 개발 환경 구축1(feat. Maven)

서론 판매직에 종사하는 친구가 웹 환경의 ERP(Enterprise resource planning)를 사용하는데 매번 수작업으로 판매 데이터를 입력하는 것을 자동화할 수 없는지 저에게 물어보았습니다. 저는 웹 크롤링

goldswan.tistory.com

 


 

본론

 

진행하기 전 WebDriver의 정의에 대해 살펴보겠습니다. Selenium 공식 홈페이지인 www.selenium.dev 에서 정의하는 WebDriver는 아래와 같습니다.

 

 

[웹 드라이버(WebDriver)]


웹 드라이버WebDriver 는 브라우저를 조종하고 테스트를 진행할 수 있도록 제작사에서 제공하는 브라우저 자동화 API를 사용합니다. 이는 진짜 사용자가 브라우저를 이용하는 것과 유사합니다. 웹 드라이버 API를 애플리케이션의 코드로 컴파일할 필요가 없기 때문에, 독립적으로 작동합니다.
더 나아가, 실시간으로 사용하는 것처럼 애플리케이션을 테스트합니다.

 

 

저희는 브라우저 조종을 이용하여 사용자가 하는 단순 반복 업무를 자동화하는 것이 목표이므로 WebDriver가 필요합니다. 

 

[WebDriver 설치]

 

1. Chrome WebDriver를 다운로드하기 위해 아래의 링크에 접속합니다.

 

chromedriver.chromium.org/downloads

 

Downloads - ChromeDriver - WebDriver for Chrome

WebDriver for Chrome

chromedriver.chromium.org

 

2. WebDriver를 설치하기 위해선 우선 브라우저의 버전을 알아야 합니다. 아래와 같이 [오른쪽 상단 점 3개 버튼 -> 도움말 -> Chrome 정보](90.x 버전 기준)를 클릭하여 Chrome 브라우저의 버전을 확인합니다.

 

 

3. 버전과 운영체제에 맞는 WebDriver를 다운로드합니다. (저의 브라우저는 [90.0.4430.85] 버전이고 윈도우 운영체제를 사용하므로 ChromeDriver 90.0.4430.24를 클릭하여 chromedriver_win32.zip를 다운로드했습니다.)

 

 

4. 다운로드한 압축파일을 압축해제 후 특정 경로에 복사합니다. (저는 C: 아래에 selenium 폴더를 만들어서 C:\selenium 경로에 해제했습니다.)

 

 

5. 이전에 생성한 프로젝트 하단 트리 메뉴의 src/main/java 에서 오른쪽 클릭-> New -> Class를 선택합니다.

 

 

6.New Java Class 창에서 Name에 "Main"을 기입 후 public static void main(String[] args) 옵션을 체크 후 Finish 버튼을 누릅니다.

 

 

7. 생성된 Main.java를 더블클릭해서 열고 기존 소스를 지운 후 아래의 소스코드를 복사 붙여 넣기 합니다. 아래 예제는 매일경제 사이트(www.mk.co.kr/)를 WebDriver를 통해 접속하는 예제입니다.

 

[Main.java]

 

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Main {
	
	public static void main(String[] args) {
		WebDriver driver = null;	
		
		System.setProperty("webdriver.chrome.driver", "C:\\selenium\\chromedriver_win32\\chromedriver.exe");//Web Driver 압축 해제 경로 입력
		driver = new ChromeDriver();//WebDriver 객체 생성
		driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);//로드 웹페이지에서 특정 요소를 찾을 때까지 기다리는 시간 설정
		driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);//페이지로드가 완료 될 때까지 기다리는 시간 설정
		driver.manage().window().maximize();//브라우저 창 최대화
		driver.get("https://www.mk.co.kr/");//웹 자동화 작업을 할 접속 사이트 명시
	}
}

 

[예시]

 

 

8. 프로젝트 우클릭 -> Run As -> 2 Java Application을 선택하여 프로젝트를 실행시킵니다.

 

 

9. WebDriver를 통해 매일경제 사이트를 접속했는지 확인합니다. 아래의 화면처럼 나오면 성공한 것입니다!

 

 


 

결론

 

오늘은 WebDriver를 설치 후 Selenium 프로젝트에서 웹 자동화할 사이트를 접속하는 것까지 진행을 했습니다. [Selenium]웹 자동화를 위한 Selenium 개발 환경 구축 3 에서는 개발을 더 편리하게 도와줄 확장 프로그램 사용법에 대해서 작성할 예정입니다. 궁금한 부분에 대해 댓글 남겨주시면 제가 아는 한도 내에서 답변드리겠습니다. 긴 글 읽어주셔서 감사합니다!

 

Reference

 

[Selenium 브라우저 자동화 프로젝트 > 시작하기 > 빠르게 살펴보기]

www.selenium.dev/documentation/ko/getting_started/quick/

 

빠르게 살펴보기 :: Selenium 문서

빠르게 살펴보기 셀레니움은 하나의 도구(tool)나 API가 아닌, 여러 도구들로 구성되어 있습니다. 웹 드라이버(WebDriver) 컴퓨터나 모바일 웹사이트 테스트를 자동화하는 것부터 시작하신다면, 아마

www.selenium.dev

[Selenium WebDriver의 동기화 또는 대기]

seleniumatfingertips.wordpress.com/tag/pageloadtimeout/

 

pageLoadTimeout – Selenium at Fingertips

Synchronization is the key when it is about automating a web based application using any tool. When we perform a set of action on a web page, many processes are invoked in the back-end systems. So, the response time of the application might not be the same

seleniumatfingertips.wordpress.com

 

반응형