[arquillian-issues] [JBoss JIRA] (ARQGRA-393) Graphene does not handle different qualifiers for Drone instances in fragments

Lukáš Fryč (JIRA) jira-events at lists.jboss.org
Thu Oct 10 04:57:02 EDT 2013


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

Lukáš Fryč commented on ARQGRA-393:
-----------------------------------

I have created ARQGRA-394 to track clarification effort.
                
> Graphene does not handle different qualifiers for Drone instances in fragments
> ------------------------------------------------------------------------------
>
>                 Key: ARQGRA-393
>                 URL: https://issues.jboss.org/browse/ARQGRA-393
>             Project: Arquillian Graphene
>          Issue Type: Bug
>    Affects Versions: 2.0.0.CR2
>            Reporter: Stefan Miklosovic
>
> The issue is that when I have two Drones in abstract class
> {code}
>     @Drone
>     @Browser
>     WebDriver browser;
>    
>     @Drone
>     @Mobile
>     WebDriver mobile;
> {code}
> and some fragment in another class
> {code}
> public class LoginFragment {
>  
>     @Root
>     private WebElement root;
>    
>     @Drone
>     @Browser
>     private WebDriver browser;
>    
>     @FindBy(id = "login-username")
>     private WebElement usernameField;
>    
>     @FindBy(id = "login-password")
>     private WebElement passwordField;
>    
>     @FindBy(id = "login-submit")
>     private WebElement loginButton;
>    
>     public void writeUsername(String username) {
>         usernameField.sendKeys(username);
>     }
>    
>     public void writePassword(String password) {
>         passwordField.sendKeys(password);
>     }
>    
>     public void submitForm() {
>         loginButton.click();
>         Graphene.waitModel(browser).until().element(root).is().not().visible();
>     }
> }
> {code}
> and I have a test in class which extends the abstract one
> {code}
> public class SomeClass extends AbstractSomeClass {
>    
>     @FindBy(id = "login-box")
>     private LoginFragment loginFragment;
>    
>     @Test
>     @InSequence(1)
>     @OperateOnDeployment("some-deployment")
>     public void loginUserInWebClient(@ArquillianResource URL context) {
>         openWebPageUrl(context);    
>         loginFragment.writeUsername("john");
>  
>     }
> }
> {code}
> I get this:
>  loginUserInWebClient(some class): There is no context available for qualifier org.jboss.arquillian.drone.api.annotation.Default. Available contexts are [interface x.y.z.Browser, interface x.y.z.Mobile].
> The workaround is to have one injection of Drone without any qualifier, so when I just remove @Browser annotation completely from everywhere, it is ok.
> This restriction is kind of ... interesting. Maybe I do not know how to set up that context on my own but according to various people as [~jhuska] it is considered to be a bug.

--
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



More information about the arquillian-issues mailing list