Details

      Description

      The FACES-1470 portlet tester will fail intermittently with the following error:

      com.liferay.faces.test.selenium.browser.internal.WaitingAsserterImpl$1: org.openqa.selenium.TimeoutException: Timed out after 600 seconds waiting for visibility of element located by By.xpath: //span[contains(@id,'as7LeakInstances')]//ul/li/code[contains(text(),'AS7Leak')]
          at com.liferay.faces.test.selenium.browser.internal.WaitingAsserterImpl.createAssertionErrorWithoutExtraInfo(WaitingAsserterImpl.java:43)
          at com.liferay.faces.test.selenium.browser.internal.WaitingAsserterImpl.assertTrue(WaitingAsserterImpl.java:172)
          at com.liferay.faces.test.selenium.browser.internal.WaitingAsserterImpl.assertElementDisplayed(WaitingAsserterImpl.java:76)
          at com.liferay.faces.bridge.test.integration.issue.FACES_1470PortletTester.testAS7LeakIntancesCreated(FACES_1470PortletTester.java:279)
          at com.liferay.faces.bridge.test.integration.issue.FACES_1470PortletTester.runFACES_1470PortletTest(FACES_1470PortletTester.java:188)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
          at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
          at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
          at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
          at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
          at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
          at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
          at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
          at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
          at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
          at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
          at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
          at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
          at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
          at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
          at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
          at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
          at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
          at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
          at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
          at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
          at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
          at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
      Caused by: org.openqa.selenium.TimeoutException: Timed out after 600 seconds waiting for visibility of element located by By.xpath: //span[contains(@id,'as7LeakInstances')]//ul/li/code[contains(text(),'AS7Leak')]
      Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
      System info: host: 'cloud-10-0-110-215.lax.liferay.com', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-042stab127.2', java.version: '1.8.0_121'
      Driver info: org.openqa.selenium.firefox.FirefoxDriver
      Capabilities [{applicationCacheEnabled=true, rotatable=false, handlesAlerts=true, databaseEnabled=true, version=45.0, platform=LINUX, nativeEvents=false, acceptSslCerts=true, webStorageEnabled=true, locationContextEnabled=true, browserName=firefox, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
      Session ID: c36f0c28-4a4f-481f-b690-14c3aeb384b6
          at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:80)
          at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:261)
          at com.liferay.faces.test.selenium.browser.internal.BrowserDriverImpl.waitFor(BrowserDriverImpl.java:457)
          at com.liferay.faces.test.selenium.browser.internal.WaitingAsserterImpl.assertTrue(WaitingAsserterImpl.java:169)
          ... 30 more
      Caused by: org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//span[contains(@id,'as7LeakInstances')]//ul/li/code[contains(text(),'AS7Leak')]"}
      Command duration or timeout: 5 milliseconds
      For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
      Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
      System info: host: 'cloud-10-0-110-215.lax.liferay.com', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-042stab127.2', java.version: '1.8.0_121'
      Driver info: org.openqa.selenium.firefox.FirefoxDriver
      Capabilities [{applicationCacheEnabled=true, rotatable=false, handlesAlerts=true, databaseEnabled=true, version=45.0, platform=LINUX, nativeEvents=false, acceptSslCerts=true, webStorageEnabled=true, locationContextEnabled=true, browserName=firefox, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
      Session ID: c36f0c28-4a4f-481f-b690-14c3aeb384b6
      *** Element info: {Using=xpath, value=//span[contains(@id,'as7LeakInstances')]//ul/li/code[contains(text(),'AS7Leak')]}
          at sun.reflect.GeneratedConstructorAccessor11.newInstance(Unknown Source)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
          at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
          at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
          at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
          at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:363)
          at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:500)
          at org.openqa.selenium.By$ByXPath.findElement(By.java:361)
          at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:355)
          at org.openqa.selenium.support.ui.ExpectedConditions.findElement(ExpectedConditions.java:899)
          at org.openqa.selenium.support.ui.ExpectedConditions.access$000(ExpectedConditions.java:41)
          at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:205)
          at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:201)
          at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:238)
          ... 32 more
      Caused by: org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//span[contains(@id,'as7LeakInstances')]//ul/li/code[contains(text(),'AS7Leak')]"}
      For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
      Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
      System info: host: 'cloud-10-0-110-215.lax.liferay.com', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-042stab127.2', java.version: '1.8.0_121'
      Driver info: driver.version: unknown
          at <anonymous class&gt;.FirefoxDriver.prototype.findElementInternal_(file:///tmp/anonymous5207334191717881137webdriver-profile/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
          at <anonymous class&gt;.FirefoxDriver.prototype.findElement(file:///tmp/anonymous5207334191717881137webdriver-profile/extensions/fxdriver@googlecode.com/components/driver-component.js:10779)
          at <anonymous class&gt;.DelayedCommand.prototype.executeInternal_/h(file:///tmp/anonymous5207334191717881137webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)
          at <anonymous class&gt;.DelayedCommand.prototype.executeInternal_(file:///tmp/anonymous5207334191717881137webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)
          at <anonymous class&gt;.DelayedCommand.prototype.execute/<(file:///tmp/anonymous5207334191717881137webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)
      

      The error implies that no non-garbage collected as7LeakInstances appear (which is considered a fail state for the test). It may be necessary to remove this assertion since aggressive garbage collection could cause as7LeakInstances to be cleaned up before they appear in the browser. This problem appears more often in CI, so the FACES-1470 tester is skipped there. Once this issue is fixed, the tester should be removed from the excludes file in build-test-batch.xml so that the test can run in CI again.

        Attachments

          Activity

            People

            • Assignee:
              kyle.stiemann Kyle Stiemann
              Reporter:
              kyle.stiemann Kyle Stiemann
              Participants of an Issue:
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: