[arquillian-issues] [JBoss JIRA] (ARQGRA-481) generic attribute injection doesn't work

Robert Hoeppner (JIRA) issues at jboss.org
Thu Oct 1 08:29:00 EDT 2015


     [ https://issues.jboss.org/browse/ARQGRA-481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Hoeppner updated ARQGRA-481:
-----------------------------------
    Description: 
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> {
....
public FristenDetailFragment getDetail() {
        return detail;
}
.....
}
{code}

at which FristenDetailFragment is one concrete implementation of AbstractEditDialogFragment

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

  was:
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> {
....
public FristenDetailFragment getDetail() {
        return detail;
}
.....
}
{code}

at which FristenDetailFragment is one concrete implementation of AbstractEditDialogFragment

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



> 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
>         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> {
> ....
> public FristenDetailFragment getDetail() {
>         return detail;
> }
> .....
> }
> {code}
> at which FristenDetailFragment is one concrete implementation of AbstractEditDialogFragment
> 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



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the arquillian-issues mailing list