Provide @StartActivity annotation put on test method to automatically
start it or use @Location from Graphene to do so
----------------------------------------------------------------------------------------------------------------------
Key: ARQ-1536
URL:
https://issues.jboss.org/browse/ARQ-1536
Project: Arquillian
Issue Type: Feature Request
Components: Extension - Droidium
Affects Versions: droidium_1.0.0.Alpha2
Reporter: Stefan Miklosovic
Assignee: Stefan Miklosovic
Fix For: droidium_1.0.0.Alpha6
Instead of starting activity every time in test method manually, it would be nice to have
this possibility:
{code}
@Test
@InSequence(4)
@OperateOnDeployment("todo-mobile-app")
public void loginUserInMobile(@ArquillianResource AndroidDevice device) {
device.getActivityManagerProvider()
.getActivityManager()
.startActivity("org.jboss.aerogear.todo.activities.LoginActivity");
loginMobileFragment.login("john", "123");
}
=========================
@Test
@InSequence(4)
@OperateOnDeployment("todo-mobile-app")
@StartActivity("org.jboss.aerogear.todo.activities.LoginActivity")
public void loginUserInMobile() {
loginMobileFragment.login("john", "123");
}
{code}
However, with the possibility to have Graphene page fragments, it would be teoretically
possible to have propper page objects as well which mean that we could abstract activity
into @Page and specify its @Location("activityName")
The problem is, how this translates to Graphene since Droidium starts activities in this
manner:
driver.get("and-activity://" + activityName);
There is the need to take that "and-activity" string into consideration with
@Location annotation.