Get flash to fully experience Pearltrees
Selenium 2 features new Api and implementations which goes under the name of WebDriver. It's a simpler, faster, object-oriented Api that applies to modern web application testing problems. No more sending hexedecimal numbers into an element for writing text! A crucial innovation is that you do not need to run a Selenium Server to use the WebDriver Java Api locally, for example to run Firefox on a Linux system like I do. The server can be run independently, but just for compatibility with Selenium 1.x, in grids for distributed testing, or to provide support for bindings in other languages.
Page Objects The Page Objects design pattern is outlined in the Selenium wiki , but to summarize, Page Objects are meant to encapsulate the messy internal state of a page. Changes in the presentation code should only require changes only to the Page Objects, not to the actual test code. Using a Page Object promotes consistency; there may be five different ways to legitimately determine that you are on the login page, but adhering to the one definition in the Page Object will prevent you from having to maintain the other variants. Page Objects should be ignorant of an application’s business logic, they should only be aware of page state and how to interact with it. By clearly delineating the test code from the page objects, you will be able to use the same page objects in a variety of tests cases and achieve code re-use.
Bartosz Majsak Zurich, Switzerland Bartosz Majsak ( @majson ) is a software developer and consultant at Cambridge Technology Partners, based in Zurich, Switzerland, passionate about open source software and testing methodologies. By night, he’s an open source junkie, often found hacking on Arquillian and ShrinkWrap. Bartosz became an Arquillian advocate early on, publishing multiple articles about Arquillian and how to extend it on his company’s blog. It wasn’t long before Bartosz became a key contributor to the Arquillian project. His unique interest in testing brings an endless source of new ideas and integrations to the project.