shutterstock_231819124

Selenium 을 이용한 Web 어플리케이션 테스트 자동화(2) – IDE 와 Webdriver기능 맛보기

앞서 저희는 Selenium 이 무엇인가와 Selenium IDE 를 한번 사용해 보았습니다. 이번 시간에는 Selenium IDE 를 조금더 사용해보고, WebDriver 를 이용해서 테스트 케이스를 작성하는 방법에대해서 알아 보도록 하겠습니다.

그럼 Selenium IDE의 제어 버튼에 대해서 조금더 알아보고 본격적으로 JAVA 를 이용해서 Webdriver 를 사용하는 방법에 대해서 알아보겠습니다.

제어버튼

많이 사용하는 제어 버튼에 대해서 설명해드리겠습니다.

20151016_Selenium-IDE-UI-ControlMenu

 

  1. Speed Control : 테스트 케이스의 속도 재생 속도 조절
  2. Run All : Test Suite를 재생
  3. Run : 1개의 Test Case 를 재생Test Case를 재생
  4. Pause/Resume : 테스트 케이스의 정지와 리스타트
  5. Step : 클릭 시 한번에 한 라인씩 수행
  6. Record : 유저 브라우저의 액션을 레코딩 시작/정지 버튼

Test Case 저장하기

Test Case를 작성한후에 저장하기 를 통해서 Test Case 를 저장가능합니다.

저장하는 방법은 파일>Save Test Case 로 저장하면 Html 파일 형식으로 저장됩니다.

이전 편에서 사용한 계정생성한 Test Case 의 경우 내용은 아래와 같습니다.

 

실제 파일을 실행해보면 테이블 형식으로 표현되어 Selenium IDE에서 보는 내용을 그대로 보실수 있습니다.

20151016_Selenium-IDE-SaveTestcase

WebDriver 사용하기

그러면 WebDriver 를 사용하기 위한 셋팅을 준비해보겠습니다.

Java를 이용해서 WebDriver 를 사용하도록 하겠습니다. Eclipse 를 이용해서 Maven 프로잭트 파일을 만들어 필요한 모듈들을 다운로드 받는 형식으로 WebDriver 을 이용할 수있습니다. 먼저 필요한 재료는 아래와 같습니다.

  1. Eclipse(Maven+TestNG plugin)
  2. JAVA JDK 설치
  3. Webdriver

Eclipse 설치 및 JDK 설치

Eclipse

Eclipse 는 아래 경로에서 다운받을수 있습니다.

저같은경우는 Eclipse IDE for Java EE Developers 를 선호해서 아래 파일을 받아서 설치해서 사용합니다.

20151016_Eclipse_JaveEE

Java

Java 의 경우는 아래에서 다운받을수 있습니다.

JAVA HOME Path 설정을 해줍니다. 윈도우 의 경우는 아래와 같이 설정하시면 됩니다.

20151016_Java-Home

TestNG Plugin

WebDriver를 실행시 TestNG를 통해서 실행을위해 TestNG Plugin 을 설치해줍니다.(TestNG 가 싫으시면 Junit이나 다른것들을 사용하셔도됩니다.)

플러그인은 Help>Eclipse Marketplace 에서 다운받으실수 있습니다.

20151016_Eclipse-TestNG

Maven Project 생성 및 설정

일관된 디렉토리 구조와 빌드 프로세스를 유지하고, Dependency Libaray 관리와 다양한 플러그인등을쉽게 이용하기 위해 Maven 프로젝트를 생성해 Webdriver 를 이용해보도록 하겠습니다.

그럼 새로운 Maven 프로젝트를 생성합니다. 아래 그림과 같은 흐름으로 진행하시면 됩니다.

20151016_Eclipse-newmavenproject

pom.xml dependency 설정

WebDriver jar 및 기타 필요한 파일들을 이용하기 위해 메이븐 pom.xml에 dependency를 추가해 라이브러리를 다운받아 습니다. 필요한 dependency 설정을 합니다.

  • selenium-java
  • selenium-remote-driver
  • selenium-chrome, firefox,ie driver
  • TestNG
  • slf4j

관련 설정은 아래와 같습니다. 설정을 완료한 pom.xml 파일입니다.

 

WebDriver 맛보기

자이제 WebDriver를 사용할 수 있을것 같습니다. 먼저 src/test/java 에 새로운 class 를 생성해봅니다. Class name은 CreateUser로 하겠습니다.

20151016_new-class-for-Createuser

우리는 먼저 Selenium IDE 를 이용해서 계정생성하기 Test Case 를 생성했습니다.

Selenium IDE는 Export 기능을 제공합니다. 그래서 저는 간단한 테스트를 만드는 것은 이 기능을 이용해서 사용하기 도합니다.

여러분들도 한번 시도해보시기 바랍니다. 그럼 어떻게 하는지 한번 해보겠습니다.

먼저 Junit 으로 Export 한후에 TestNG 형식으로 변경하도록 하겠습니다.

Export 기능은 ‘파일 > Export TestCase’ 에서 이용할 수 있습니다.

20151016_Export-to-junit-from-IDE

Export 는 CreateUser.java 로 하겠습니다.

자동으로 CreateUser.java 파일이 생성됩니다.

Junit 으로 되어있는 형식으로 Export 됩니다.

저는 TestNG를 이용하기로 했으니 TestNG에 맞게 약간 변경합니다.

  • @Before –> @BeforeMethod
  • @Aftger –>@AfterMethod
  • fail –> Assert.Faii

기타 불필효한 Code를 제거 하면 최종적으로 아래와같은 Code 가 나옵니다.

이제 정상적으로 수행되는지 Test 해보겠습니다. Eclipse 에서 TestNG를 이용해서 실행하면 계정생성하는 스크립트가 실행됩니다.

20151016_run-TestNG

어떤가요? 기존에 만든 Test Case 를 재사용가능하고 간단히 테스트도 수행되는것을 보셨을것입니다.

이번에 Selenium IDE 의 일부 기능 그리고 Selenium IDE에서 생성한 Test Case를 이용해서 WebDriver Test Code 를 생성해서 Test하는것을 해보았습니다.

다음번에는 조금더 WebDriver의 기능들을 이용해보도록 하겠습니다.

감사합니다.