Page tree
Skip to end of metadata
Go to start of metadata

통합 테스트란

유닛테스트의 확장으로서 기 검증된 N개 이상의 유닛테스트를 하나의 구성 요소로 통합하고 두 유닛 사이의 인터페이스를 테스트하는 것을 말합니다.

유닛테스트->통합테스트->프로그램

통합테스트의 목적

            모듈의 인터페이스와 결합도를 테스트

             기능 및 성능 테스트

통합테스트의 유형

      하향식

                   최상위 모듈을 먼저 테스트하고 통합하는 방식

      상향식

                  저수준 유닛을 테스트하고 통합하는 방식

       우산

                 입력에 대해서 상향식 방식을 이용

                 출력에 대해서 하향식 방식을 이용

 

통합테스트 시 구성요소

                 harness : 부분 테스트를 위해 코드에 삽입되는 프로그램

                 stub:  시험대상 대신 호출당하기 위한 모의 서브루틴

                driver:  시험대상 모듈을 호출하는 모의 모듈

 

Selenium Web Driver

  1. selenium 
    1. page
  2. selenium WebDriver 
    1. page 
    2. document
  3. 다운로드 
    1. FireFox
    2. Selenium IDE 2.5.0
    3. Selenium Client & WebDriver Language Bindings  java 2.40.0
    4. selenium-server-standalone-2.40.0
    5. 크롬 드라이버

FIreFox Selenium IDE 설치

(파폭에서 링크를 눌러야 설치화면이 뜨고, 다른 브라우저에서는 다운로드되므로 꼭 파폭에서 링크를 눌러야해요)

(추가: 그냥 다운로드 받은 파일 파폭으로 드레그 하셔도 설치됩니다.)

설치 확인

개발 환경 설정

  1. Maven
    1. 라이브러리 추가(pom.xml)
      1. pom.xml
        <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>2.39.0</version>
        </dependency>
         
        <!-- selenide는 옵션 -->
        <dependency>
             <groupId>com.codeborne</groupId>
             <artifactId>selenide</artifactId>
             <version>2.7</version>
        </dependency>
         
        <!-- phantomjs는 추가하지 말것 -->
        <dependency>
                <groupId>com.github.detro.ghostdriver</groupId>
                <artifactId>phantomjsdriver</artifactId>
                <version>1.0.4</version>
        </dependency>
  2. Selenium IDE를 이용하여 Test code 자동 생성
    1. FireFox 설치 http://www.mozilla.org/ko/firefox/new/#download-fx
    2. 셀레늄 IDE 설치(firefox 플러그인) http://release.seleniumhq.org/selenium-ide/2.5.0/selenium-ide-2.5.0.xpi
    3. firefox에서 레코딩 시작
    4. 테스트 java source code 생성
    5. 생성된 java source code를 참고하여 test code 작성

Web Driver 사용

크롬 Driver 사용

  1. ChromeDriver는 chromedriver.exe를 이용하여 크롬브라우저와 통신한다. (https://code.google.com/p/selenium/wiki/ChromeDriver)

  2.  chromedriver.exe 설치

    1. http://chromedriver.storage.googleapis.com/index.html 에서 바이너리 다운로드

    2. chromedriver.exe 파일을 시스템패스에 복사하거나 소스코드에서 파일의 경로를 지정

      1. // ex) C:\Windows\System32\chromedriver.exe 
        // 또는 
        chromeDriverService = new ChromeDriverService.Builder().usingDriverExecutable(new File(CHROMEDRIVER_EXE)).usingAnyFreePort().build();
    3. 설치된 크롬브라우저를 찾지 못할 경우(windows7에서 발생)
      1. DesiredCapabilities capabilities = DesiredCapabilities.chrome();
        desiredCapabilities.setCapability("chrome.binary", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
         
        또는
         
        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.setBinary("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
        desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);

Eclipse 설정

  1. 이클립스 자바 프로젝트 생성
  2. build path로 라이브러리를 잡아준다(add External Jars)
    1. selenium-java-2.40.0.jar
    2. selenium-server-standalone-2.40.0.jar
    3. add Library-> JUnit-> JUnit4 

 

Selenium Grid(Hub & node) 설정

  1. command line에서 아래의 명령을 실행 한다.
  2. 허브 세팅  java -jar selenium-server-standalone-2.40.0.jar -role hub

  3. 그리드 실행 java -jar selenium-server-standalone-2.40.0.jar -role node  -hub http://localhost:4444/grid/register -Dwebdriver.chrome.driver=e:\selenium\chromedriver.exe -browser "browserName=chrome, maxInstances=5, platform=VISTA"

  4. 그리드 확인 : http://localhost:4444/grid/console  에 접속하여 확인 할 수 있다.

Selenium Web Driver Vs Spring MVC Test

  1. HtmlUnit vs WebDriver 
    1. post

 

참고자료

http://helloworld.naver.com/helloworld/87523 hello world » Hudson과 Selenium을 이용한 테스트 자동화
http://docs.seleniumhq.org/docs/03_webdriver.jsp#java Setting Up a Selenium-WebDriver Project
  • No labels