[arquillian-issues] [JBoss JIRA] (ARQGRA-500) Navigation with URL parameters

Vsevolod Golovanov (JIRA) issues at jboss.org
Thu Apr 6 05:59:00 EDT 2017


    [ https://issues.jboss.org/browse/ARQGRA-500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13389980#comment-13389980 ] 

Vsevolod Golovanov commented on ARQGRA-500:
-------------------------------------------

Dumping some additional concerns that bother me.
-- Generalize to dynamic path manipulation (DPM)? "Parameters" only make sense for the HTTP scheme currently. The linked SO's OP also wanted more than that. But generalize too much and it looks like another LocationDecider. Might as well check if the test object implememts the LocationDecider interface.
No, I think the generalized DPM should be an implementation helper for Deciders. E.g. the HTTP decider would use it to implement the parameter provider functionality and path substitution functionality ("http://static/\{dynamic\}") - 2 different interfaces.
But how to expose this functionality in Graphene.goTo? Either be content with some generic DPM interface argument, or refactor goTo to return a specific builder somehow. Make goTo return a builder? Nasty breaking change - goTo now doesn't trigger navigation. Some new method (arguments like goTo) returns a builder, and an argumentless goTo triggers navigation? This could work.
-- Need to descriminate the pages. Problem: LocationDecider only knows a String location. Needs to know pageClass too.
--- Annotated parameters could accept it as {{\@LocationParameters(for = MyPage.class)}}.

> Navigation with URL parameters
> ------------------------------
>
>                 Key: ARQGRA-500
>                 URL: https://issues.jboss.org/browse/ARQGRA-500
>             Project: Arquillian Graphene
>          Issue Type: Feature Request
>            Reporter: Vsevolod Golovanov
>
> I need to add a dynamic URL parameter to a location of a page before navigating to it.
> I don't want to use Selenium's navigation, because I would then need to reinvent/shoehorn Graphene's location deciding.
> A special landing page would be a pretty ugly workaround.
> I get that it's not possible with annotations. But at least support this with Graphene.goTo methods.
> Actually it may be possible with annotations, if you could supply some provider class? E.g. {{\@Location(value = "MyView.xhtml", parameterProvider = MyParameterProvider.class)}}.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the arquillian-issues mailing list