Spring invoke method before every method call

Viewed 13666

Is there any way to invoke a method before every method call for a bean?

Im using selenium and cucumber with spring. All the pages are singletons because of this and since I'm using @FindBy annotations I want to invoke PageFactory.initElements(driver, object) every time a page is used.

Using a standard page object pattern, this would be done by invoking it in the constructor.

What I'd like to avoid is to specify in each method the method like so:

public void clickThis() {
    PageFactory.initElements(driver, this)
    ...
}

public void clickThat() {
    PageFactory.initElements(driver, this)
    ...
}

I dont want to return the new page since they will not be able to be shared between features.

2 Answers
Related