public class PageFactory extends Object
Constructor and Description |
---|
PageFactory() |
Modifier and Type | Method and Description |
---|---|
static void |
initElements(ElementLocatorFactory factory,
Object page)
Similar to the other "initElements" methods, but takes an
ElementLocatorFactory which
is used for providing the mechanism for fniding elements. |
static void |
initElements(FieldDecorator decorator,
Object page)
Similar to the other "initElements" methods, but takes an
FieldDecorator which is used
for decorating each of the fields. |
static <T> T |
initElements(WebDriver driver,
Class<T> pageClassToProxy)
Instantiate an instance of the given class, and set a lazy proxy for each of the WebElement
and List
|
static void |
initElements(WebDriver driver,
Object page)
As
initElements(org.openqa.selenium.WebDriver, Class)
but will only replace the fields of an already instantiated Page Object. |
public static <T> T initElements(WebDriver driver, Class<T> pageClassToProxy)
public class Page {
private WebElement submit;
}
there will be an element that can be located using the xpath expression "//*[@id='submit']" or
"//*[@name='submit']"
By default, the element or the list is looked up each and every time a method is called upon it.
To change this behaviour, simply annotate the field with the CacheLookup
.
To change how the element is located, use the FindBy
annotation.
This method will attempt to instantiate the class given to it, preferably using a constructor
which takes a WebDriver instance as its only argument or falling back on a no-arg constructor.
An exception will be thrown if the class cannot be instantiated.driver
- The driver that will be used to look up the elementspageClassToProxy
- A class which will be initialised.FindBy
,
CacheLookup
public static void initElements(WebDriver driver, Object page)
initElements(org.openqa.selenium.WebDriver, Class)
but will only replace the fields of an already instantiated Page Object.driver
- The driver that will be used to look up the elementspage
- The object with WebElement and Listpublic static void initElements(ElementLocatorFactory factory, Object page)
ElementLocatorFactory
which
is used for providing the mechanism for fniding elements. If the ElementLocatorFactory returns
null then the field won't be decorated.factory
- The factory to usepage
- The object to decorate the fields ofpublic static void initElements(FieldDecorator decorator, Object page)
FieldDecorator
which is used
for decorating each of the fields.decorator
- the decorator to usepage
- The object to decorate the fields ofCopyright © 2013. All rights reserved.