Background
Page objects support passing in a browser instance so that they can be used in a multi browser setup (e.g. when testing two users concurrently).
Problem
I have realized that not all page objects used this pattern consistently. Some didn't accept the browser keyword argument, others didn't use the browser instance recursively by passing it to other page objects. Therefore this change.
Solution
This pull request includes these changes:
A new @nondefault_browsing decorator allows to run the tests on a clone. This will lead to errors when page object access the default browser, since the default browser never opens a page.
All standard page object tests now use the @nondefault_browsing decorator.
Page objects which didn't accept the browser keyword were updated to do so.
Page objects which didn't pass the custom browser instance to other page objects were updated to do so.
Some docstrings were updated according to signature changes.
The folder contents page object documentation is now published too.
Background Page objects support passing in a browser instance so that they can be used in a multi browser setup (e.g. when testing two users concurrently).
Problem I have realized that not all page objects used this pattern consistently. Some didn't accept the browser keyword argument, others didn't use the browser instance recursively by passing it to other page objects. Therefore this change.
Solution This pull request includes these changes:
@nondefault_browsing
decorator allows to run the tests on a clone. This will lead to errors when page object access the default browser, since the default browser never opens a page.@nondefault_browsing
decorator.browser
keyword were updated to do so.