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

최근에 받은 트랙백

글 보관함


Selenium 2 Web Driver 의 Page Objects 에 대해 잘 정리하고 좋은 소스코드도 있는 곳을 찾아서 그 내용을 정리해 둡니다.


Page Objects in Selenium 2 (WebDriver)





참조



This project is inspired by:
Ben Burton's WebDriver Best Practices
Dave Justin’s page object post
James Cox's Using Page Objects



* Why Page Objects pattern?


반복되는 코드를 줄이기 위해.
single page object로 페이지의 internal state를 캡슐화 하기 위해
UI 의 변화는 실제 테스트 코드가 아닌 오직 single page object에만 영향을 미친다.
Code re-use : 여러 테스트 케이스에서 같은 page object를 사용할 수 있도록 한다.



* Step 1 : Page Object base class


Page Base 클래스는 extend 하기 위해 base structure와 page object의 property들을 제공한다.




* Step 2 : Extends PageBase






* Step 3 : Navigation from Page to Page


1. 사용자가 새로운 URL을 브라우저의 URL 바에 입력하는 것을 시뮬레이팅 할 때, 필요한 page object를 생성하는 것은 test case가 해야할 일 입니다.





2. 페이지에서 어떤 일은 브라우저에서 다른 페이지로 넘어가도록 만듭니다. 예를 들어 링크를 클릭하거나 form 을 submit 하는 경우가 있겠죠. 이럴 경우 다음 page object를 return 하는 것은 page object가 해야할 일입니다.


* Step 4 : Tests with Page Objects




* Here are the source codes


Project Home: https://github.com/ChonC/wtbox
wiki: https://github.com/ChonC/wtbox/wiki
PageBase source code
Page Objects test example

Thank you!

Chon Chung - @chon_chung


반응형

Comment