package org.fluentlenium.core; import org.fluentlenium.core.url.ParsedUrlTemplate; /** * Control a Page Object. * * @see FluentPage */ public interface FluentPageControl extends FluentControl { /** * URL of the page * It can contains mandatory parameters <code>{param}</code> and optional parameters <code>{param1}</code> * * @return page URL */ String getUrl(); /** * URL of the page, after replacing parameters with given values. * * @param parameters parameter values * @return Effective url generated for given parameter values * @throws IllegalArgumentException if some required parameters are missing */ String getUrl(Object... parameters); /** * Check if the browser is on this page. */ void isAt(); /** * Check if the browser is on this page, after replacing parameters with given values. */ void isAt(Object... parameters); /** * Go to the url defined in the page */ void go(); // NOPMD ShortMethodName /** * Got to the url defined in the page, using given parameters. * * @param params page url parameter values * @throws IllegalArgumentException if some required parameters are missing */ void go(Object... params); /** * Get the parameter values of page URL extracted from current URL. * * @return parameter values */ ParsedUrlTemplate parseUrl(); /** * Get the parameter values of page URL extracted from given URL. * * @param url url to parse * @return parameter values */ ParsedUrlTemplate parseUrl(String url); }