java - Should Page Objects Return Page Objects? -
we're working on building test frame in our company. it's medium-to-large-sized webapp, perhaps couple dozen pages. we're writing webdriver selenium ui-based tests.
we trying decide on coding standards, , 1 thing we're discussing whether use page objects (po) return po (even if page same), return po when leave current page new one, or not return po. i've thought returning po key feature of po design pattern, may incorrect this.
basically, we're trying decide between following patterns:
class somepage { // constructor public somepage(driver) { //... } // return page object public somepage fillintextfield(string val){ // details return new somepage(driver); // return po if it's different page public void fillintextfield(string val){ // details return; }
is 1 preferable on other?
it's matter of style.
using:
class somepage { ... // return page object public somepage fillintextfield(string val){ ... return this; // note: not "new somepage(driver)" } }
allows write things like:
somepage somepage = howeveryougetasomepage(); nextpage nextpage = somepage.fillintextfield1("value1").fillintextfield2("value2").submit();
using:
class somepage { ... // return po if it's different page public void fillintextfield(string val){ ... return; } }
forces write things like:
somepage somepage = howeveryougetasomepage(); somepage.fillintextfield1("value1"); somepage.fillintextfield2("value2"); nextpage nextpage = somepage.submit();
which 1 depends on ... 1 like. if being able write former, need always return page object.
Comments
Post a Comment