[JBoss JIRA] (ARQGRA-383) Improve @Location for contextRoot
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-383?page=com.atlassian.jira.plugin... ]
Juraj Húska commented on ARQGRA-383:
------------------------------------
I vote for that sensible default.
Meanwhile I have updated the documentation to reflect current behavior.
> Improve @Location for contextRoot
> ---------------------------------
>
> Key: ARQGRA-383
> URL: https://issues.jboss.org/browse/ARQGRA-383
> Project: Arquillian Graphene
> Issue Type: Enhancement
> Reporter: Karel Piwko
> Priority: Minor
>
> In cases when @Location represents @ArquillianResource URL contextPath, it might be confusing that user needs to set it to:
> {code}
> @Location("")
> {code}
> It might be more convenient to provide a better way how to say that location equals contextPath, maybe *@DeploymentLocation or something like that.
--
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
11 years, 3 months
[JBoss JIRA] (ARQGRA-382) @InitialPage does not work for Field
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-382?page=com.atlassian.jira.plugin... ]
Juraj Húska commented on ARQGRA-382:
------------------------------------
Yes, it was intentional. I just forget to remove {{Field}} literal from annotation declaration.
But now I am thinking of following enhancement:
One test class is often used for testing one page, or often we need to load the same page in each test, and then redirect to another. What if it would be possible to have {{@InitialPage}} over field, which would result in automatic loading of the page URL before each test execution? Usage of {{@InitialPage}} in test parameter would override this global setting.
Can I change this to Enhancement ?
> @InitialPage does not work for Field
> ------------------------------------
>
> Key: ARQGRA-382
> URL: https://issues.jboss.org/browse/ARQGRA-382
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.0.CR1
> Reporter: Karel Piwko
> Fix For: 2.0.0.Final
>
>
> While @InitialPage allows to be used on test class field, it does not do anything.
> {code}
> @InitialPage AddUserPage page;
> @Test
> void test() {
> page.foo()
> }
> {code}
> raises
> {code}
> java.lang.NullPointerException: null
> at com.acme.example.test.DroneTest.addUser(DroneTest.java:35)
> {code}
--
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
11 years, 3 months
[JBoss JIRA] (ARQGRA-385) Unable to use Guards with AndroidDriver (again)
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-385?page=com.atlassian.jira.plugin... ]
Lukáš Fryč commented on ARQGRA-385:
-----------------------------------
Karel, is there any other trace of the failure?
A record in browser console, selenium driver log?
> Unable to use Guards with AndroidDriver (again)
> -----------------------------------------------
>
> Key: ARQGRA-385
> URL: https://issues.jboss.org/browse/ARQGRA-385
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.0.CR1
> Environment: Selenium APK 2.32.
> Reporter: Karel Piwko
> Priority: Critical
> Fix For: 2.0.0.Final
>
>
> It is not possible to use Guards on Android driver, it fails with following error:
> {code}
> java.lang.IllegalStateException: Can't invoke the javacript org.jboss.arquillian.graphene.guard.RequestGuardImpl#clearRequestDone()
> at org.openqa.selenium.android.library.AndroidWebDriver.throwIfError(AndroidWebDriver.java:1024)
> at org.openqa.selenium.android.library.AndroidWebDriver.executeRawScript(AndroidWebDriver.java:895)
> at org.openqa.selenium.android.library.AndroidWebDriver.injectJavascript(AndroidWebDriver.java:930)
> at org.openqa.selenium.android.library.AndroidWebDriver.executeScript(AndroidWebDriver.java:786)
> at org.openqa.selenium.android.AndroidApkDriver.executeScript(AndroidApkDriver.java:106)
> at java.lang.reflect.Method.invokeNative(Native Method)
> at java.lang.reflect.Method.invoke(Method.java:511)
> at org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke(EventFiringWebDriver.java:101)
> at $Proxy1.executeScript(Native Method)
> at org.openqa.selenium.support.events.EventFiringWebDriver.executeScript(EventFiringWebDriver.java:209)
> at org.openqa.selenium.remote.server.handler.ExecuteScript.call(ExecuteScript.java:55)
> at org.openqa.selenium.remote.server.handler.ExecuteScript.call(ExecuteScript.java:1)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
> at java.util.concurrent.FutureTask.run(FutureTask.java:137)
> at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:169)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
> at java.lang.Thread.run(Thread.java:856)
> {code}
> I've tested both *guardAjax(...)* and *guardNoRequest(...)* guards.
> Together with ARQGRA-384, this significantly reduces usability of Graphene when combined with AndroidDriver.
--
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
11 years, 3 months
[JBoss JIRA] (ARQGRA-384) element().is().visible() prematurely exits with exception on Android
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-384?page=com.atlassian.jira.plugin... ]
Lukáš Fryč commented on ARQGRA-384:
-----------------------------------
It seems AndroidDriver doesn't return expected return types.
Could you please debug why AndroidDriver doesn't return expected types and what values it actually returns?
> element().is().visible() prematurely exits with exception on Android
> --------------------------------------------------------------------
>
> Key: ARQGRA-384
> URL: https://issues.jboss.org/browse/ARQGRA-384
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.0.CR1
> Reporter: Karel Piwko
> Fix For: 2.0.0.Final
>
>
> When using following call using Graphene and AndroidDriver, it often fails with an exception on Android:
> {code}
> waitGui().withMessage("Add member button is not yet present.").until().element(addMemberBtn).is().visible();
> {code}
> {code}
> addUser(com.acme.example.test.DroneTest) Time elapsed: 8.491 sec <<< ERROR!
> org.openqa.selenium.WebDriverException: Returned value cannot be converted to Boolean: [org.openqa.selenium.remote.RemoteWebElement@30 -> unknown locator]
> Build info: version: '2.35.0', revision: '8df0c6bedf70ff9f22c647788f9fe9c8d22210e2', time: '2013-08-17 12:46:41'
> System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-358.18.1.el6.x86_64', java.version: '1.7.0_25'
> Driver info: driver.version: unknown
> at org.openqa.selenium.remote.RemoteWebElement.isDisplayed(RemoteWebElement.java:323)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:130)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$1.invoke(GrapheneContextualHandler.java:159)
> at org.jboss.arquillian.graphene.enricher.SearchContextInterceptor.intercept(SearchContextInterceptor.java:50)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor$1.apply(StaleElementInterceptor.java:48)
> at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor$1.apply(StaleElementInterceptor.java:44)
> at org.openqa.selenium.support.ui.FluentWait$1.apply(FluentWait.java:177)
> at org.openqa.selenium.support.ui.FluentWait$1.apply(FluentWait.java:175)
> at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
> at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:175)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:87)
> at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor.intercept(StaleElementInterceptor.java:44)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.intercept.InterceptorBuilder$2.intercept(InterceptorBuilder.java:139)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:209)
> at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:205)
> at com.sun.proxy.$Proxy37.isDisplayed(Unknown Source)
> at org.openqa.selenium.support.ui.ExpectedConditions.elementIfVisible(ExpectedConditions.java:228)
> at org.openqa.selenium.support.ui.ExpectedConditions.access$100(ExpectedConditions.java:39)
> at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:213)
> at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:210)
> at org.jboss.arquillian.graphene.condition.BooleanConditionWrapper.apply(BooleanConditionWrapper.java:61)
> at org.jboss.arquillian.graphene.condition.BooleanConditionWrapper.apply(BooleanConditionWrapper.java:37)
> at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:102)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.commit(WebDriverWaitImpl.java:110)
> at org.jboss.arquillian.graphene.wait.IsNotElementBuilderImpl.visible(IsNotElementBuilderImpl.java:57)
> at com.acme.example.test.AddMemberPage.addNewMember(AddMemberPage.java:38)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:130)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$1.invoke(GrapheneContextualHandler.java:159)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:209)
> at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:205)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.intercept(GrapheneContextualHandler.java:229)
> at com.acme.example.test.AddMemberPage$$EnhancerByGraphene$$75cffd91.addNewMember(<generated>)
> at com.acme.example.test.DroneTest.addUser(DroneTest.java:25)
> {code}
> This looks like that visibility checker should ignore this exception, as element is in intermediate state at this moment.
--
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
11 years, 3 months
[JBoss JIRA] (ARQGRA-384) element().is().visible() prematurely exits with exception on Android
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-384?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-384:
------------------------------
Fix Version/s: 2.0.0.Final
> element().is().visible() prematurely exits with exception on Android
> --------------------------------------------------------------------
>
> Key: ARQGRA-384
> URL: https://issues.jboss.org/browse/ARQGRA-384
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.0.CR1
> Reporter: Karel Piwko
> Fix For: 2.0.0.Final
>
>
> When using following call using Graphene and AndroidDriver, it often fails with an exception on Android:
> {code}
> waitGui().withMessage("Add member button is not yet present.").until().element(addMemberBtn).is().visible();
> {code}
> {code}
> addUser(com.acme.example.test.DroneTest) Time elapsed: 8.491 sec <<< ERROR!
> org.openqa.selenium.WebDriverException: Returned value cannot be converted to Boolean: [org.openqa.selenium.remote.RemoteWebElement@30 -> unknown locator]
> Build info: version: '2.35.0', revision: '8df0c6bedf70ff9f22c647788f9fe9c8d22210e2', time: '2013-08-17 12:46:41'
> System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-358.18.1.el6.x86_64', java.version: '1.7.0_25'
> Driver info: driver.version: unknown
> at org.openqa.selenium.remote.RemoteWebElement.isDisplayed(RemoteWebElement.java:323)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:130)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$1.invoke(GrapheneContextualHandler.java:159)
> at org.jboss.arquillian.graphene.enricher.SearchContextInterceptor.intercept(SearchContextInterceptor.java:50)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor$1.apply(StaleElementInterceptor.java:48)
> at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor$1.apply(StaleElementInterceptor.java:44)
> at org.openqa.selenium.support.ui.FluentWait$1.apply(FluentWait.java:177)
> at org.openqa.selenium.support.ui.FluentWait$1.apply(FluentWait.java:175)
> at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
> at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:175)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:87)
> at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor.intercept(StaleElementInterceptor.java:44)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.intercept.InterceptorBuilder$2.intercept(InterceptorBuilder.java:139)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:209)
> at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:205)
> at com.sun.proxy.$Proxy37.isDisplayed(Unknown Source)
> at org.openqa.selenium.support.ui.ExpectedConditions.elementIfVisible(ExpectedConditions.java:228)
> at org.openqa.selenium.support.ui.ExpectedConditions.access$100(ExpectedConditions.java:39)
> at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:213)
> at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:210)
> at org.jboss.arquillian.graphene.condition.BooleanConditionWrapper.apply(BooleanConditionWrapper.java:61)
> at org.jboss.arquillian.graphene.condition.BooleanConditionWrapper.apply(BooleanConditionWrapper.java:37)
> at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:102)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.commit(WebDriverWaitImpl.java:110)
> at org.jboss.arquillian.graphene.wait.IsNotElementBuilderImpl.visible(IsNotElementBuilderImpl.java:57)
> at com.acme.example.test.AddMemberPage.addNewMember(AddMemberPage.java:38)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:130)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$1.invoke(GrapheneContextualHandler.java:159)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:209)
> at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:205)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.intercept(GrapheneContextualHandler.java:229)
> at com.acme.example.test.AddMemberPage$$EnhancerByGraphene$$75cffd91.addNewMember(<generated>)
> at com.acme.example.test.DroneTest.addUser(DroneTest.java:25)
> {code}
> This looks like that visibility checker should ignore this exception, as element is in intermediate state at this moment.
--
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
11 years, 3 months