]
Lukáš Fryč commented on ARQGRA-481:
-----------------------------------
Hi [~hoeppnerrobert], any chance you could get this reproduced in Graphene's
functional test suite?
generic attribute injection doesn't work
----------------------------------------
Key: ARQGRA-481
URL:
https://issues.jboss.org/browse/ARQGRA-481
Project: Arquillian Graphene
Issue Type: Bug
Components: core
Affects Versions: 2.0.3.Final
Environment: OS: Win7
Java: 1.7.0_17
AS: Wildfly 8.2.0.final
Reporter: Robert Hoeppner
Fix For: 2.0-Tracking
Attachments: stacktrace.txt
I have an abstract PageObject like these:
{code:java}
public abstract class AbstractBenutzerdatenPageWithEdit<EDITDLG extends
AbstractEditDialogFragment> extends
AbstractBenutzerdatenPage {
@FindBy(id = "browser:editDialog:dlg_container")
private EDITDLG editDialog;
public EDITDLG getEditDialog() {
return editDialog;
}
}
{code}
AbstractEditDialogFragment has three concrete implementations and there are three
implementations of AbstractBenutzerdatenPageWithEdit like the following:
{code:java}
@Location("pages/benutzerdaten/fehlzeit/frist.xhtml")
public class FristenPage extends
AbstractBenutzerdatenPageWithEdit<FristenEditDialogFragment> {
.....
}
{code}
at which FristenEditDialogFragment is one concrete implementation of
AbstractEditDialogFragment
{code:java}
public class FristenEditDialogFragment extends AbstractEditDialogFragment {
...
}
{code}
The test looking like these:
{code:java}
@RunWith(Arquillian.class)
@RunAsClient
public class FristenTest extends TestDeployments {
@ArquillianResource
private URL contextPath;
@Drone
private WebDriver driver;
@Page
private LoginPage loginPage;
@Page
private HomePage homePage;
@Page
private BenutzerdatenHomePage benutzerdatenHomePage;
@Page
private FristenPage fristenPage;
@Test
public void PageAccessTest(@InitialPage LoginPage loginP) {
loginP.loginWithCredentials("admin", "gip123");
homePage.getNavigationBar().navigateToUserData();
benutzerdatenHomePage.getMenu().openFristen();
assertThat(fristenPage.getBreadCrumbText()).isEqualTo("» Benutzerdaten
»Fehlzeiten » Fristen");
}
{code}
And if i run this test, i get a PageObjectInitializationException
{code}
org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: Can
not instantiate Page Object
class de.gipmbh.absenz.web.pageModel.benutzerdaten.FristenPage
declared in:
de.gipmbh.absenz.web.uitests.benutzerdaten.FristenTest
{code}