블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 받은 트랙백

글 보관함

calendar

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            


Selenium WebDriver 관련 공부 하고 있습니다.

Youtube 에서 관련 Tutorial 찾아서 공부한 내용 정리합니다.


이 Tutorial 을 올린 애는 Ashish Thakur 로 홈페이지는 www.qtpselenium.com 입니다.




WebDriver 는 RC 의 확장된 버전입니다.

Selenium WebDriver는 Selenium 2 라고도 하는데 이걸로 요즘 나오는 모바일에 있는 웹브라우저용으로 테스트 케이스를 만들 수 있습니다.


우선 설치하는 방법은 아래와 같습니다.


1. Java를 인스톨 한다.
2. 이클립스 IDE for Java EE developers (Indigo Package) 를 다운 받는다.
3. Eclips 를 Run 한다. (Java 가 인스톨 돼 있어야 함)
   64bit일 경우 jdk 를 다운 받는다. (32bit면 그냥 JRE만 다운 받아도 될 것임)
4. Workspace 를 설정한다.
5. File-New-Project-Java-Java Project
   -> Project Name -> Finish
6. src right click -> New -> Class : 클래스 파일을 하나 만든다.

* Selenium 을 하려면 Java에 대해 알아야 한다.
* http://selenium.googlecode.com/git/docs/api/java/index.html 로 가면 Selenium에 대한 JavaDoc이 나옴

7. http://www.seleniumhq.org/download/ 로 가서 Selenium 을 다운로드 받는다. (Java 버전으로)
8. Project - Properties - Java Build Path - Libraries Tab - Add External Jars - selenium-lib 에 있는 모든  jar파일과 selenium-java-2.35.0.jar,selenium-java-2.35.0-srcs 들을 include 한다.


설치는 이렇게 하시면 됩니다.


그러면 FireFox, Chrome 그리고 IE 웹 브라우저용 WebDriver를 사용하는 예제를 보겠습니다.


import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class Browsers {

    public static void main(String[] args) {
        FirefoxDriver d1 = new FirefoxDriver();
        d1.get("http://gosolkit.com");
       
        String path = System.getProperty("user.dir"); // current path of project
        System.setProperty("webdriver.chrome.driver",path + "\\chromedrive\\chromedriver.exe");
        ChromeDriver d2 = new ChromeDriver();
        d2.get("http://coronasdk.tistory.com");
       
        System.setProperty("webdriver.ie.driver",path + "\\iedrive\\IEDriverServer.exe");
        InternetExplorerDriver d3 = new InternetExplorerDriver();
        d3.get("http://www.qtpselenium.com");
       
        String title = d1.getTitle();
        System.out.println(title);
    }

}


이 클래스가 있는 project에서는 selenium 관련 jar 파일들이 모두 include 돼 있어야 합니다.


우선 첫번째로 Firefox를 사용하는 방법은요 그냥 FirefoxDriver() 객체를 하나 만들어서 사용하면 됩니다.

위 예제에서는 제 개인 싸이트를 get 했습니다.


두번째로 Chrome 을 사용할 때는 chromedriver.exe 를 설치 해야 됩니다.

다운 받는 장소는 http://www.seleniumhq.org/download/ 로 가셔서 찾아보시면 링크가 걸려 있을 겁니다. 


잘 못 찾겠으면 http://code.google.com/p/chromedriver/ 로 가셔서 다운 받으시면 됩니다.


다운 받으신 후 해당 프로젝트에 chromedriver 폴더를 만들고 그 안에 chromedriver.exe 파일을 복사해 넣습니다.



그리고 사용법은 webdriver.chrome.driver 를 사용해서 해당 exe 파일이 있는 경로가 있는 프로퍼티를 세팅해야 합니다.

여기서 현재 작업하고 있는 경로를 알 수 있는 System.getProperty("user.dir"); 를 사용하시면 좀 더 편하게 설정하실 수 있습니다.


이 프로퍼티를 설정하셨으면 ChromeDriver객체를 만드시면 됩니다.

위 예제에서는 get 을 사용해서 제 블로그를 이 크롬브라우저에 세팅했습니다.


그 다음은 IE 인데요. 이것도 Chrome 과 마찬가지로 http://www.seleniumhq.org/download/ 로 가셔서 해당 링크를 찾으세요. 

아니면 그냥 http://code.google.com/p/selenium/downloads/detail?name=IEDriverServer_x64_2.35.3.zip 로 가셔서 다운 받으셔도 됩니다. 


크롬 브라우저와 마찬가지로 인터넷 익스플로러도 webdriver.ie.driver 를 사용해서 프로퍼티를 세팅해 주세요.



그 다음에 InternetExplorerDriver 객체를 만드시면 됩니다.

위 예제에서는 제가 공부한 유튜브 강좌를 올린 Ashish 의 웹사이트를 get 해서 이 IE 브리우저에 세팅했습니다.


이렇게 객체를 세팅하고 나면 get() 으로 얻은 웹페이지에 있는 여러 element들의 정보를 가져오거나 event를 발생시켜서 테스트 케이스를 만들 수 있습니다.


위 예제에서는 간단하게 첫번째에 세팅한 ForefoxDriver로 제 웹사이트의 페이지 title을 얻어와서 콘솔에 뿌려지도록 만들었습니다.


위 클래스를 실행시키면 (Mouse right click -> Run As -> Java Application) Firefox 브라우저가 실행되서 gosolkit.com 페이지가 뜨고 크롬 부라우저에는 이 블로그가 그리고 마지막으로 IE 브라우저에는 Ashish의 웹페이지가 뜰 겁니다.


작업이 다 끝나면 콘솔에 제 웹사이트인 gosolkit.com 의 title이 찍힙니다.