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

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -