[Selenium] 두개의 시나리오나 여러 브라우저 작업을 한개의 suite 로 처리하기
2014. 2. 2. 00:15 |
ERP 웹 작업을 하다보면 일반 유저가 어떤 정보를 입력하고 관리자가 그 입력한 정보를 처리하는 프로세스들이 있습니다.
이 때 일반 유저가 입력할 때 사용하는 웹사이트와 관리자가 사용하는 웹사이트 즉 어플리케이션이 서로 다른 경우가 있습니다.
제가 참여하는 프로젝트에도 이런 경우가 있는데요.
거기에다가 일반 유저가 사용하는 웹어플리케이션은 아무 브라우저에서나 작동이 되는데 관리자가 사용하는 웹어플리케이션은 IE에서만 제대로 작동 됩니다.
그런데 테스트 케이스는 유저가 로그인해서 입력 완료하고 다시 관리자가 이를 처리하는 것 까지로 돼 있습니다.
이럴 경우 한개의 suite 에서 이 모든 일들을 처리할 수 있도록 해야 되는데요.
그럴 경우 아래와 같이 하면 됩니다.
<suite name="suite 이름">
<listeners>
<listener class-name=".........." />
</listeners>
<!-- GLOBAL PARAMETERS -->
<parameter name="waitTime" value="40" />
<parameter name="thinkTime" value="2" />
<parameter name="app_url" value="웹 어플리케이션 URL" />
<parameter name="username" value="아이디" />
<parameter name="password" value="비밀번호" />
<test verbose="10" name="이름 1" annotations="JDK" preserve-order="true">
<classes>
<class name="실행할 클래스 1" />
<class name="실행할 클래스 2" />
<class name="실행할 클래스 3" />
</classes>
</test>
<test verbose="10" name="이름 2" annotations="JDK" preserve-order="true">
<parameter name="browser" value="ie" />
<parameter name="app_url1" value="웹 앱 URL 2" />
<parameter name="username" value="아이디"" />
<parameter name="password" value="비밀번호" />
<classes>
<class name="실행할 클래스 1" />
<class name="실행할 클래스 2" />
<class name="실행할 클래스 3" />
</classes>
</test>
</suite>
이 테스트 suite 은 <suite>로 시작해서 </suite>으로 끝납니다.
listener를 작동해야 할 필요가 있으면 <listeners> 태그 안에 선언 합니다.
그 다음에 Parameter들을 선언하는 부분이 있습니다.
웹 URL이나 아이디 비밀번호 그 밖에 웹 페이지를 테스트할 때 필요한 파라미터들을 선언합니다.
이제 실제 실행될 테스트 케이스 클래스들을 선언할 차례인데요.
<test> 태그 안에 실행될 테스트 케이스 클래스들을 선언하시면 됩니다.
위에 보시면 두개의 <test> 태그가 있는데요.
첫번째 테스트에는 따로 파라미터가 선언돼 있지 않기 때문에 이 경우에는 Global Parameter를 사용합니다.
그리고 두번째는 따로 파라미터들을 선언했죠?
여기에 필요한 관리자용 어플리케이션 정보들을 선언해 주면 됩니다.
그리고 첫번째 테스트는 크롬 브라우저를 사용하고 두번째 브라우저는 IE 브라우저를 사용합니다.
이렇게 하나의 테스트 케이스에 여러 어플리케이션이나 여러 브라우저로 테스트 하도록 하는 방법은 <test> 태그를 여러개 사용해서 구현할 수 있습니다.
'TDD Project > Selenium Web Driver' 카테고리의 다른 글
Page Object Design Pattern (1) | 2014.08.01 |
---|---|
[Java] String split() Method 관련해서. - Selenium WebDriver - (0) | 2014.03.12 |
[Selenium] switchTo.window() 예제 살펴보기 (0) | 2014.02.14 |
[Selenium] Double Click and Execute JavaScript -Tip - (0) | 2014.02.13 |
[Selenium] 유저가 입력한 정보 관리자 모드에서 확인하는 테스트 만들기 (0) | 2014.02.03 |
[Selenium] IE 브라우저 사용할 때 지켜야 할 점들 (2) | 2014.01.27 |
[Selenium] Select Option 관련 로직 정리 (0) | 2014.01.27 |
Selenium WebDriver 작업시 유용한 로직 - Pagination 등 (1) | 2013.12.16 |
Selenium WebDriver - Alert Control, Escape key (0) | 2013.12.06 |
Selenium Webdriver - iframe 사용하기 (2) | 2013.12.05 |