In my last post, I reviewed a PushToTest-sponsored webinar I had attended entitled Selenium (You’re Doing It Wrong). One of the slides in that presentation contained the wording: “Page Objects FTW!” I’m generally leery of acronyms containing an “F” so was relieved to learn that “FTW” expands to “For The Win.”
Since I was about to start a new QA job at the time and was particularly disinterested in having to create a framework before I could delve into developing Selenium scripts, I decided to investigate using the Python Page Objects framework published by the Selenium (You’re Doing It Wrong) presenter, Adam Goucher.
It’s been only a few weeks since I was able to download and start using the framework, but so far, I’m seriously impressed. First off, the framework did just what I hoped–it allowed me to focus on developing scripts right off the bat rather than having to first design and implement a framework. Secondly, my scripts are very clean and crisp as a result of following the page object model. All of the locators are in the page object modules. Almost all of the Selenium API calls are there too. Ditto for the various messages that a page can display in response to a user action. Ditto again for the various email subject lines that are generated by user interactions with the page. (My scripts have to retrieve these emails so that they can check and/or interact with them.)
In short, I don’t envision needing to modify a completed test case very often at all going forward! Changes to a page will instead be handled via modifying just the corresponding page object. That “FTW” acronym from the webinar is quite accurate.
And to top things off, PushToTest is sponsoring another free webinar with Adam Goucher on Wednesday, July 27th: Create Robust Selenium Tests with Page Objects. Attendees will get to hear an in-depth discussion of the Page Objects model that was just touched on in the previous webinar. I highly recommend: (a) checking out AG’s framework on github; and (b) signing up for the upcoming PushToTest webinar. And if you fail at the latter, don’t worry–the webinar will undoubtedly be posted on PushToTest’s ScreenCast Central a few days after it happens.
Now if there were just fewer bugs in the Selenium APIs, I’d be totally over the top!