Package io.fluentlenium.core.annotation
Annotation Interface PageUrl
PageUrl is a class annotation used instead of getUrl method of
FluentPage
object.
If PageUrl annotation is used the page class may not override the getUrl method.
It’s possible to define parameters using {[?][/path/]parameter}
syntax.
If it starts with ?
, it means that the parameter is optional.
Path can be included in the braces so it is removed when parameter value is not defined:
@PageUrl("/document/{document}{?/page/page}{?/format}") public class DocumentPage extends FluentPage { public DocumentPage customPageMethod(){ ... return this; } ... }Referencing local files in the test resources directory can be achieved by defining the file name of the resource in the annotation's
file
attribute:
@PageUrl(file = "page2url.html", value = "?param1={param1}¶m2={param2}") class Page2DynamicP2P1 extends FluentPage { }In case you don't specify the
file
attribute but you override either FluentPage.getUrl()
or
FluentPage.getUrl(Object...)
in a way that it retrieves a local test resource you need to
also override FluentPage.isAtUsingUrl(String)
and leave its body empty to skip URL check
because PageUrl is not able to get local file path relatively.
@PageUrl(value = "?param1={param1}¶m2={param2}") class Page2DynamicP2P1 extends FluentPage { @Override protected String getUrl() { return someLocalResource; } @Override public void isAtUsingUrl(String urlTemplate) { } }In case local files depending on the value of the
value
attribute you can use
additional URL query parameters
attached to the path. If no query parameters are used the value attribute can be left empty.
You can find further examples at FluentLenium Key features.
-
Required Element Summary
-
Optional Element Summary
-
Element Details
-
value
String valueThe page URL can be relative or absolute, if the URL is not recognized as absolute will be treated as relative.For example:
@PageUrl("/")
should redirect to the homepage of the website (baseUrl + "/")@PageUrl("/index.html")
should redirect to baseUrl + "/index.html"@PageUrl("http://example.com")
should redirect to "http://example.com"@PageUrl(file = "index.html" value="")
should redirect to * "file://{testResourcesDirectory}/index.html"@PageUrl(file = "index.html" value="?param={param}")
should redirect to "file://{testResourcesDirectory}/index.html?param=<value of param>"
- Returns:
- page url
-
file
String fileDefines the file name without a path located in the test resources directory on the local file system, e.g.@PageUrl(file = "index.html", value = "")
Default value is empty.
- Returns:
- the file name
- Default:
- ""
-