[
https://issues.jboss.org/browse/ARQGRA-393?page=com.atlassian.jira.plugin...
]
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