rave-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jasha Joachimsthal <ja...@apache.org>
Subject Re: Integration Test Failures
Date Wed, 27 Jun 2012 06:29:04 GMT
On 26 June 2012 19:27, Chris Geer <chris@cxtsoftware.com> wrote:

> I've updated Rave (not-committed) to Shindig 2.5.0-beta2 and things are
> working but I'm getting one failure in the integration tests. My plan was
> to wait until Matt integrated the branch into main, get the latest and
> commit the changes for beta2. I'm not sure how to fix this particular issue
> so I'm proposing I commit the changes as long as things compile and pass
> unit tests and then we can fix this issue post check-in. Let me know if
> anyone disagrees with this approach.
>
> Chris
>
> When I delete the current page (FAILED)
> (org.openqa.selenium.ElementNotVisibleException: Element is not currently
> visible and so may not be interacted with
>

My experience with integration tests is that they fail from time to time
because Selenium can interact faster with the page than a human being. In
order to delete a page you need to hover the icon next to the page name,
which is not supported in Selenium, and then click the Delete page link.
Instead of hovering I do a click event and then the Delete page. The
Javascript that handles Delete page in the portal checks if the link is
actually visible. Selenium sometimes follows the Delete page link before
the browser has rendered it after the click event. I added a 2 second
waiting time but that's not always long enough.
I don't know why the Delete page event is only allowed for a visible link,
but if this is for security reasons then it's easy to bypass this using
Firebug or the built in tools in all modern browsers. If this visibility
check can be removed, then this test can be executed without the need to
wait for this DOM event.



> Command duration or timeout: 11 milliseconds
> Build info: version: '2.2.1', revision: '16551', time: '2012-04-11
> 21:42:35'
> System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.4',
> java.version: '1.6.0_31'
> Driver info: driver.version: RemoteWebDriver)
> When I log out (NOT PERFORMED)
>
> org.openqa.selenium.ElementNotVisibleException: Element is not currently
> visible and so may not be interacted with
> Command duration or timeout: 11 milliseconds
> Build info: version: '2.2.1', revision: '16551', time: '2012-04-11
> 21:42:35'
> System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.4',
> java.version: '1.6.0_31'
> Driver info: driver.version: RemoteWebDriver
> (reflection-construct)
> at
>
> org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:175)
>  at
>
> org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:128)
> at
>
> org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:459)
>  at
>
> org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:245)
> at
> org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:78)
>  at
>
> org.apache.rave.integrationtests.steps.PageOperationsSteps.deleteCurrentPage(PageOperationsSteps.java:87)
> (reflection-invoke)
>  at
>
> org.jbehave.core.steps.StepCreator$ParameterisedStep.perform(StepCreator.java:533)
> at
> org.jbehave.core.embedder.StoryRunner$FineSoFar.run(StoryRunner.java:474)
>
> [WARNING] Failed to run story johnDoe.story
> org.jbehave.core.failures.UUIDExceptionWrapper: When I delete the current
> page
> at
>
> org.jbehave.core.steps.StepCreator$ParameterisedStep.perform(StepCreator.java:547)
>  at
> org.jbehave.core.embedder.StoryRunner$FineSoFar.run(StoryRunner.java:474)
> at
>
> org.jbehave.core.embedder.StoryRunner.runStepsWhileKeepingState(StoryRunner.java:454)
>  at
>
> org.jbehave.core.embedder.StoryRunner.runScenarioSteps(StoryRunner.java:418)
> at
> org.jbehave.core.embedder.StoryRunner.runCancellable(StoryRunner.java:295)
>  at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:211)
> at org.jbehave.core.embedder.StoryRunner.run(StoryRunner.java:172)
>  at
>
> org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:197)
> at
>
> org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:169)
>  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>  at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>  at java.lang.Thread.run(Thread.java:680)
> Caused by: org.openqa.selenium.ElementNotVisibleException: Element is not
> currently visible and so may not be interacted with
> Command duration or timeout: 11 milliseconds
> Build info: version: '2.2.1', revision: '16551', time: '2012-04-11
> 21:42:35'
> System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.4',
> java.version: '1.6.0_31'
> Driver info: driver.version: RemoteWebDriver
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
>
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>  at
>
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>  at
>
> org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:175)
> at
>
> org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:128)
>  at
>
> org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:459)
> at
>
> org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:245)
>  at
> org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:78)
> at
>
> org.apache.rave.integrationtests.steps.PageOperationsSteps.deleteCurrentPage(PageOperationsSteps.java:87)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
>  at
>
> org.jbehave.core.steps.StepCreator$ParameterisedStep.perform(StepCreator.java:533)
> ... 13 more
> Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException:
> Element is not currently visible and so may not be interacted with
> Build info: version: '2.2.1', revision: '16551', time: '2012-04-11
> 21:42:35'
> System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.4',
> java.version: '1.6.0_31'
> Driver info: driver.version: unknown
>  at <anonymous class>.<anonymous
>
> method>(file:///var/folders/67/qm919r790cd2s9lpk8zr9gpr0000gn/T/anonymous2117900345009172465webdriver-profile/extensions/
> fxdriver@googlecode.com/components/command_processor.js:5780)
>  at <anonymous class>.<anonymous
>
> method>(file:///var/folders/67/qm919r790cd2s9lpk8zr9gpr0000gn/T/anonymous2117900345009172465webdriver-profile/extensions/
> fxdriver@googlecode.com/components/command_processor.js:9753)
>  at <anonymous class>.<anonymous
>
> method>(file:///var/folders/67/qm919r790cd2s9lpk8zr9gpr0000gn/T/anonymous2117900345009172465webdriver-profile/extensions/
> fxdriver@googlecode.com/components/command_processor.js:9774)
>  at <anonymous class>.<anonymous
>
> method>(file:///var/folders/67/qm919r790cd2s9lpk8zr9gpr0000gn/T/anonymous2117900345009172465webdriver-profile/extensions/
> fxdriver@googlecode.com/components/command_processor.js:9779)
>  at <anonymous class>.<anonymous
>
> method>(file:///var/folders/67/qm919r790cd2s9lpk8zr9gpr0000gn/T/anonymous2117900345009172465webdriver-profile/extensions/
> fxdriver@googlecode.com/components/command_processor.js:9725)
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message