Selenium Core

Selenium Core

웹 상에서 테스트를 생성하고 수행한다.

 

설치

 

테스트를 해보려면 selenium-core 압축 푼 디렉토리에서 /core/TestRunner.html 을 브라우저에서 읽은뒤에 기본값으로 지정된 TestSuite를 실행해보면 된다. 기본값 TestSuite 파일은 Selenium에서 예제로 만든 Test Case들을 실행한다.

 

Test Suite HTML 생성

TestSuite 는 실제 테스트용 코드를 가지고 있는 Test Case HTML들을 HTML Table에 기입해 넣고, 여기 있는 모든 Test Case들을 한꺼번에 실행 할 수 있도록 하는 역할을 한다. 아래와 같은 형식으로 하면 된다.

  1. <table id="suiteTable" cellpadding="1" cellspacing="1" border="1">
      <tbody>
        <tr><td><b>제목 </b> </td> </tr>
        <tr><td><a href="TestCase.html">TestCase 제목</a></td></tr>
      ...etc...
      </tbody>
    </table>

 

Test Case HTML 생성

Test Case는 실제 HTML을 테스트하는 코드를 작성한다.

이 또한 특정 형태의 Table에 명령과 옵션을 적는 방식이다. 명령에 옵션이 없거나 한개 일때는 해당 옵션 부분을 &nbsp; 로 두면 된다.

  1. <table cellpadding="1" cellspacing="1" border="1">
      <tbody>
        <tr>
          <td rowspan="1" colspan="3">테스트 케이스 제목<br>
          </td>
        </tr>
        <tr>
          <td>명령1</td>
          <td>옵션1</td>
          <td>옵션2</td>
        </tr>
        <tr>
          <td>명령2</td>
          <td>옵션1</td>
          <td>옵션2</td>
        </tr>
        .... 계속되는 명령
      </tbody>
    </table>

 

Test Case 는 Selenium IDE를 사용하면 쉽게 만들수 있다.

명령과 옵션은 Selenium Reference에서 모두 볼 수 있다.

명령에는 행위 명령과 assert 명령이 있다.

 

MultiWindow 테스트

Selenium은 기본적으로 프레임안에서 테스트 케이스를 실행하는데, 테스트 Suite 로딩 폼에서 "AUT in separate window"에 체크를 해서 로딩하면, 독립적인 창에서 테스트를 수행한다.

가끔, 프레임의 TOP을 건드리는 웹 애플리케이션이 있을 경우에 해당 애플리케이션이 Selenium Core 화면을 깨뜨리기 때문에 이 옵션을 사용하면 된다.

 

FireFox에서는 readState 명령이 잘 듣지 않아서 작동하지 않을 수 있으므로 Selenium Core에 있는 readyState.xpi 를 설치한 뒤에 실행해야 한단.

 

DOM 지정하기

명령의 옵션으로 DOM 객체를 지정하는는 경우에는 여기에는 여러가지 방식이 있다. 형식은 위치지정자타입=값

id값정, name 값 지정, xpath로 지정 등등..

 

일반적으로 지정자를 지정하지 않으면 identifier로 간주해서 DOM 객체를 찾는다.

XPATH를 사용할 경우에는 FireFox의 XPath Check Extension을 사용하면 쉽게 XPath를 찾을 수 있다.