qait-prateeksha / web-accessibility-testing

Automatically exported from code.google.com/p/web-accessibility-testing
Other
0 stars 0 forks source link

The KeyboardHelper code is ineffective when used against the local test pages #1

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Background details:
The failing code is version r12  
http://code.google.com/p/web-accessibility-testing/source/detail?r=12

What steps will reproduce the problem?
1. Run the JUnit tests in LocalAccessibilityTestPages

What is the expected output? 
- I expect all the current tests to pass.

What do you see instead?
The first 2 tests fail

   * For testGwtHistoryIframeWithTabindexIsSkippedWhenTabbing the tabbing continues until the tabThroughWebPage code aborts after exceeding the maxiumum number of tabs. There seems to be a strange order of the tabs where the body is the first element visited by the `tabThroughWebPage()` code but it's not revisited when cycling through the page again.

   * For testGwtHistoryIframeIncludedWhenTabbingAndNoTabindexSet the tabbing starts, but a StaleElementReferenceException is thrown by WebDriver after tabbing 'through' the hidden IFRAME.

{{{
org.openqa.selenium.StaleElementReferenceException: Element not found in the 
cache (Note: The stack trace from the server side is missing. The 
locally-generated stack trace is useless.)
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', 
java.version: '1.6.0_21'
Driver info: driver.version: remote
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:104)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:340)
    at org.openqa.selenium.firefox.FirefoxDriver.execute(FirefoxDriver.java:237)
    at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:280)
    at org.julianharty.accessibility.automation.KeyboardHelpers.tabThroughWebPage(KeyboardHelpers.java:146)
    at org.julianharty.accessibility.automation.LocalAccessibilityTestPages.testGwtHistoryIframeIncludedWhenTabbingAndNoTabindexSet(LocalAccessibilityTestPages.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at junit.framework.TestCase.runTest(TestCase.java:164)
    at junit.framework.TestCase.runBare(TestCase.java:130)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:120)
    at junit.framework.TestSuite.runTest(TestSuite.java:230)
    at junit.framework.TestSuite.run(TestSuite.java:225)
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
}}}

Original issue reported on code.google.com by julianharty on 9 Nov 2010 at 5:39

GoogleCodeExporter commented 9 years ago
Thanks to Simon Stewart (of Selenium and WebDriver fame) who suggested trying 
older versions of Firefox, I've discovered the current issues seem to be 
related to Firefox 3.6.x (I've seen the problem with 3.6.10 and 3.6.12). When I 
use 3.0.19 (the last version of Firefox 3.0) and 3.5.10 (one of the later 
releases of 3.5) the keyboard handling behaviour works as expected.

I've investigating the differences, and that the first test (tabbing into a 
hidden iframe) often fails with a Stale Element Exception. This occurs when the 
code recurses into itself to tab through the iframe, after the first Tab is 
issued. I'll continue to investigate the problem and try to find a robust fix.

Julian 11 Nov 2010 

Original comment by julianharty on 11 Nov 2010 at 8:40

GoogleCodeExporter commented 9 years ago
Any news on this? I'm testing a GWT app with Firefox 5 and I'm often running 
into this exception. Thanks. 

Original comment by hanrisel...@gmail.com on 10 Aug 2011 at 10:40

GoogleCodeExporter commented 9 years ago
I haven't looked at this for a while, however now you've provided some impetus 
to do so I shall, probably later this week. Thanks for the prod.

Which OS are you running the tests on? (Where is Firefox running?)

Julian

Original comment by julianharty on 10 Aug 2011 at 3:14

GoogleCodeExporter commented 9 years ago
A quick update:
Only 1 test now fails, the one with the hidden iframe that doesn't have an 
explicit tabindex="-1" called 
testGwtHistoryIframeIncludedWhenTabbingAndNoTabindexSet I have refined the 
algorithms to detect problems related to native events not behaving corrently. 
The current problem affects each of the browsers I've tests (Firefox, Chrome 
and InternetExplorer). I'm continuing to investigate the problem with the 
Selenium / WebDriver team.

Original comment by julianharty on 6 Sep 2011 at 5:29