[richfaces-issues] [JBoss JIRA] (RF-13529) Taking Screenshot after failed test is broken when using remoteReusable browser session

Juraj Húska (JIRA) issues at jboss.org
Mon Feb 3 10:36:31 EST 2014


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

Juraj Húska updated RF-13529:
-----------------------------

    Priority: Minor  (was: Major)

    
> Taking Screenshot after failed test is broken when using remoteReusable browser session
> ---------------------------------------------------------------------------------------
>
>                 Key: RF-13529
>                 URL: https://issues.jboss.org/browse/RF-13529
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: tests - functional 
>    Affects Versions: 5.0.0.Alpha3
>            Reporter: Juraj Húska
>            Priority: Minor
>
> When running a fun test with {{-Dreusable=true}} (remoteReusable browser session), and test fails, screenshot is not taken and following exception is logged:
> {code}
> js_function_with_param(org.richfaces.ui.ajax.ITTestJsFunction)  Time elapsed: 11.171 sec  <<< ERROR!
> java.lang.RuntimeException: unexpected invocation exception during invocation of org.openqa.selenium.TakesScreenshot#getScreenshotAs(), on target 'ReusableRemoteWebDriver: firefox on LINUX (dd4c3a27-487e-4d07-a097-dfe29c9ad83f)': org.jboss.arquillian.drone.webdriver.factory.remote.reusable.ReusableRemoteWebDriver.getScreenshotAs(org.openqa.selenium.OutputType)
> 	at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:135)
> 	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.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 org.jboss.arquillian.drone.webdriver.factory.remote.reusable.ReusableRemoteWebDriver$$EnhancerByGraphene$$23f31e28.getScreenshotAs(<generated>)
> 	at org.richfaces.arquillian.browser.FailureScreenshot.takeScreenshotOnFailure(FailureScreenshot.java:28)
> 	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.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> 	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> 	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> 	at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
> 	at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createAfterContext(ContainerEventController.java:134)
> {code}
> The fact that screenshot is not taken is not that serious with reusable session. More frustrating is the logged error, which pollutes the log.
> The problem is that RemoteWebDriver needs to be augmented to take screenshot from it.
> Note that this taking screenshot functionality can be replaced by [screenshot extension|https://github.com/smiklosovic/arquillian-unified-recorder]. (once it is released and stable).

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



More information about the richfaces-issues mailing list