[
https://issues.jboss.org/browse/ARQGRA-264?page=com.atlassian.jira.plugin...
]
Aliaksei Lahachou commented on ARQGRA-264:
------------------------------------------
You are right about second question, {{@InFrame}} should be specified on injection point.
Was just a wild thought of mine.
However, I still feel uneasy about switching to default frame. I see 2 potential
problems:
* {{InFrameInterceptor}} always switches to default frame, the existing tests which switch
to frames and make assumptions about the current frame may not work as expected. I'm
not sure how Arquillian interceptors work, if they are called only when the annotation is
present, it should not be a problem. If the interceptor is always there, it should switch
back to default frame only if it switched frame on the way in.
* If there is an existing code which switches to frames, there is no possibility to switch
to default frame using {{@InFrame}} annotation.
It seems to be a limitation of WebDriver, that we cannot get the current frame. If
it's true, I think it should be clearly documented that specifying {{@InFrame}} will
switch browser to default frame.
Create possibility to "inject" elements from frames
---------------------------------------------------
Key: ARQGRA-264
URL:
https://issues.jboss.org/browse/ARQGRA-264
Project: Arquillian Graphene
Issue Type: Feature Request
Affects Versions: 2.0.0.Alpha3
Reporter: Aliaksei Lahachou
Assignee: Juraj Húska
Fix For: 2.0.0.Alpha5
Original Estimate: 6 hours
Remaining Estimate: 6 hours
I don't like how WebDriver works with frames. I have to constantly switch between
frames, I cannot simply "inject" element from a specific frame. I would love to
have something like the following:
{code:java}
@FindBy(id = "menuBar")
@InFrame(id = "header")
private MenuBarFragment menuBar;
{code}
In this case Graphene should switch to frame "header" before any operation on
menuBar and switch back to previous frame after (today, I have to do it manually). It
seems to me that it is not too complex to do it with Arquillian/Graphene - you only need
one more interceptor.
Elements not annotated with @InFrame should work on current frame just as today.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira