Tag Info

New answers tagged


I recommend avoiding external documentation because no one wants to maintain it. Instead, use comments in your code and useful names for your classes and methods. And ask someone to review some of your code specifically with those considerations in mind.


Page objects can be flexible and should reflect the way you write and maintain your tests. For myself, I typically keep my page objects as compact and stateless as possible. If your pages have a lot of re-usable components, you can put those into smaller classes that encapsulate that functionality independently, then you can use composition to integrate ...


I do. I use Python. In page object, I use dictionary to map locator names to locator values. So even if locator value changes, its name stays same. To fill the form, I create good old Dictionary, mapping locator names to values to be filled. Sometimes page fields needs to be filled in exact order, in that case I use Ordered Dictionary. Base page (from ...


Yes, it makes sense. To quote Martin Fowler in http://martinfowler.com/bliki/PageObject.html, Despite the term "page" object, these objects shouldn't usually be built for each page, but rather for the significant elements on a page. So a page showing multiple albums would have an album list page object containing several album page objects. There would ...


Considering your focus on atomic page operations, I would add some basic operations on popups, like ClosePopup, AcceptPopup, CancelPopup. Perhaps depending on the technology you should add some extra functions.


It all depends what high level operations you have on your page. The requirement of High level functionalities differ from application to application and page to page. Some of the pages may not be having any or some of the options mentioned by you but some may have additional operations like Edit : Change the record to edit mode Delete : Delete the ...

Top 50 recent answers are included