[arquillian-issues] [JBoss JIRA] (ARQGRA-481) generic attribute injection doesn't work
Robert Hoeppner (JIRA)
issues at jboss.org
Thu Oct 1 08:35: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> {
.....
}
{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
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 a PageObjectInitializationException
> 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> {
> .....
> }
> {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
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the arquillian-issues
mailing list