[QA] PageObjects in mobile browser tests

Chris McMahon christopher.mcmahon at gmail.com
Wed Jan 15 16:39:54 UTC 2014


On Wed, Jan 15, 2014 at 6:46 AM, Ċ½eljko Filipin <zfilipin at wikimedia.org>wrote:

> On Tue, Jan 14, 2014 at 10:40 PM, Juliusz Gonera <jgonera at wikimedia.org>wrote:
>
>> In my opinion we should only have PageObjects for pages that actually
>> exist
>
>
> I am fine with that, as long as the files do not become extremely big.
>
>
>> There are a bunch of PageObjects that don't actually represent pages, but
>> kind of mirror features:
>>
>
> I actually prefer to have a lot of small classes instead of just a few big
> ones. If you prefer a few bigger classes, go ahead.
>

I like to see pages that reflect the navigation in the test.  For example,
in the test that Arthur and I wrote last week, we navigate from the "User
login" page to the "Create account" page, and the names of the PageObjects
that the test uses reflects that navigation:

*
https://github.com/wikimedia/mediawiki-extensions-MobileFrontend/blob/master/tests/browser/features/create_account_failure_messages.feature
*
https://github.com/wikimedia/mediawiki-extensions-MobileFrontend/blob/master/tests/browser/features/step_definitions/create_account_failure_messages_steps.rb

Note that since CreateAccountPage is never invoked directly, i.e. is never
the subject of a visit() in a test, only an on(), CreateAccountPage has no
URL.

So I would say that instead of large or small PageObjects, I would prefer
to see PageObjects that correspond to the how the tests navigate through
the application.  If the test navigates from a Login page to a Create
Account page, I like to see those pages as PageObjects.  If a page
navigates from an Article page to a Talk page, or a wiki page to a page
outside the wiki, I like to see that reflected in the PageObjects.

But it is only a preference, and I don't hold it strongly enough to object
to a different organizational scheme.

-C
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wikimedia.org/pipermail/qa/attachments/20140115/e0df2315/attachment-0001.html>


More information about the QA mailing list