[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:55:02 EDT 2013
[ https://issues.jboss.org/browse/ARQGRA-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12812982#comment-12812982 ]
Lukáš Fryč commented on ARQGRA-393:
-----------------------------------
Stefan, you need to annotate the Page Fragment injection point with a qualifier.
The injection point decides about ion what context will given page or page fragment belong
> 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