OpenLiberty / liberty-tools-intellij

IntelliJ IDEA extension for Liberty
https://plugins.jetbrains.com/plugin/14856-open-liberty-tools
Eclipse Public License 2.0
12 stars 24 forks source link

Mac automated UI test failure: Robot exceptions #991

Open turkeylurkey opened 3 days ago

turkeylurkey commented 3 days ago

When the automated tests run on the Mac machine we see exceptions when the robot tries to find elements in UI. Example:

com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT10S) for 
condition function (Failed to find '[some search criteria]' in 10s)

Exclude exceptions starting with initializationError FAILED they are recorded in #971

Record exceptions as comments to see if there is a pattern.

turkeylurkey commented 3 days ago

Failed to find 'Container'

com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT5S) for condition function (Failed to find 'Container' by '//div[@class='HeavyWeightWindow']//div[@class='JEditorPane']' in 5s) 
            at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:51)
            at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor$default(RepeatUtils.kt:37)
            at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:53)
            at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:51)
            at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
            at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:51)
            at com.intellij.remoterobot.fixtures.ContainerFixture.find(ContainerFixture.kt:12)
            at io.openliberty.tools.intellij.it.fixtures.ProjectFrameFixture.getDiagnosticPane(ProjectFrameFixture.java:259)
            at io.openliberty.tools.intellij.it.UIBotTestUtils.hoverForQuickFixInAppFile(UIBotTestUtils.java:872)
            ... 86 more
turkeylurkey commented 3 days ago

Menu items containing the Search Everywhere text

com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT10S) for condition function (Menu items containing the Search Everywhere text were not found) 
            at com.intellij.remoterobot.utils.RepeatUtilsKt$waitFor$2.invoke(RepeatUtils.kt:47)
            at com.intellij.remoterobot.utils.RepeatUtilsKt$waitFor$2.invoke(RepeatUtils.kt:45)
            at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
            at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:45)
            at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:33)
            at io.openliberty.tools.intellij.it.fixtures.ProjectFrameFixture.getActionMenuItem(ProjectFrameFixture.java:79)
            at io.openliberty.tools.intellij.it.UIBotTestUtils.runActionFromSearchEverywherePanel(UIBotTestUtils.java:1596)
            ... 86 more
turkeylurkey commented 3 days ago

Failed to find 'ComponentFixture'

com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT10S) for condition function (Failed to find 'ComponentFixture' by '//div[@class='Tree' and @name='LibertyTree' and contains(@visible_text, 'singleModMavenRESTNoLTXmlCfg')]' in 10s) 
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:51)
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor$default(RepeatUtils.kt:37)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:53)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:51)
        at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
        at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:51)
        at com.intellij.remoterobot.fixtures.ContainerFixture.find(ContainerFixture.kt:12)
        at io.openliberty.tools.intellij.it.fixtures.ProjectFrameFixture.getTree(ProjectFrameFixture.java:215)
        at io.openliberty.tools.intellij.it.UIBotTestUtils.findProjectInLibertyToolWindow(UIBotTestUtils.java:340)
        at io.openliberty.tools.intellij.it.SingleModNLTRestProjectTestCommon.testsRefreshProjectWithLTBuildCfgOnly(SingleModNLTRestProjectTestCommon.java:194)
...
turkeylurkey commented 3 days ago

Menu items containing the Close Project text

com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT10S) for condition function (Menu items containing the Close Project text were not found) 
        at com.intellij.remoterobot.utils.RepeatUtilsKt$waitFor$2.invoke(RepeatUtils.kt:47)
        at com.intellij.remoterobot.utils.RepeatUtilsKt$waitFor$2.invoke(RepeatUtils.kt:45)
        at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:45)
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:33)
        at io.openliberty.tools.intellij.it.fixtures.ProjectFrameFixture.getActionMenuItem(ProjectFrameFixture.java:79)
        at io.openliberty.tools.intellij.it.UIBotTestUtils.closeProjectFrame(UIBotTestUtils.java:221)
        at io.openliberty.tools.intellij.it.SingleModNLTRestProjectTestCommon.cleanup(SingleModNLTRestProjectTestCommon.java:69)
...
turkeylurkey commented 3 days ago

Failed to find 'Action Button'

com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT5S) for condition function (Failed to find 'Action Button' by '//div[contains(@myvisibleactions, 'Get')]//div[contains(@myaction.key, 'action.Stop.text')]' in 5s) 
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:51)
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor$default(RepeatUtils.kt:37)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:53)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:51)
        at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
        at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:51)
        at com.intellij.remoterobot.fixtures.ContainerFixture.find(ContainerFixture.kt:12)
        at com.intellij.remoterobot.fixtures.CommonContainerFixture.actionButton(CommonContainerFixture.kt:258)
        at io.openliberty.tools.intellij.it.UIBotTestUtils.stopDebugger(UIBotTestUtils.java:2274)
        at io.openliberty.tools.intellij.it.SingleModMPProjectTestCommon.testStartWithConfigInDebugModeUsingMenu(SingleModMPProjectTestCommon.java:564)
...
turkeylurkey commented 3 days ago

Failed to find 'Welcome Frame'

com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT2M) for condition function (Failed to find 'Welcome Frame' by 'FlatWelcomeFrame type' in 120s) 
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:51)
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor$default(RepeatUtils.kt:37)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:53)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:51)
        at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
        at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:51)
        at com.intellij.remoterobot.RemoteRobot.find(RemoteRobot.kt:32)
        at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:34)
        at com.intellij.remoterobot.RemoteRobot.find(RemoteRobot.kt:32)
        at io.openliberty.tools.intellij.it.SingleModMPProjectTestCommon.prepareEnv(SingleModMPProjectTestCommon.java:915)
        at io.openliberty.tools.intellij.it.GradleSingleModMPProjectTest.setup(GradleSingleModMPProjectTest.java:83)
turkeylurkey commented 3 days ago

Failed to find 'ComponentFixture' in getStripeButton()

com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT10S) for condition function (Failed to find 'ComponentFixture' by '//div[@class='StripeButton' and @text='Debug']' in 10s) 
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:51)
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor$default(RepeatUtils.kt:37)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:53)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:51)
        at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
        at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:51)
        at com.intellij.remoterobot.fixtures.ContainerFixture.find(ContainerFixture.kt:12)
        at io.openliberty.tools.intellij.it.fixtures.ProjectFrameFixture.getStripeButton(ProjectFrameFixture.java:186)
        at io.openliberty.tools.intellij.it.UIBotTestUtils.stopDebugger(UIBotTestUtils.java:2269)
        at io.openliberty.tools.intellij.it.SingleModMPProjectTestCommon.testStartWithConfigInDebugModeUsingToolbar(SingleModMPProjectTestCommon.java:507)
...
turkeylurkey commented 3 days ago

Failed to find 'Container' in ProjectFrameFixture.getTextArea()

com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT30S) for condition function (Failed to find 'Container' by '//div[@class='JBTextArea']' in 30s) 
            at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:51)
            at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor$default(RepeatUtils.kt:37)
            at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:53)
            at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:51)
            at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
            at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:51)
            at com.intellij.remoterobot.fixtures.ContainerFixture.find(ContainerFixture.kt:12)
            at io.openliberty.tools.intellij.it.fixtures.ProjectFrameFixture.getTextArea(ProjectFrameFixture.java:300)
            at io.openliberty.tools.intellij.it.UIBotTestUtils.waitForLTWTextAreaMessage(UIBotTestUtils.java:1763)
            at io.openliberty.tools.intellij.it.UIBotTestUtils.waitForLTWNoProjectDetectedMsg(UIBotTestUtils.java:1727)
            ... 2 more
turkeylurkey commented 2 days ago

Windows: This happened one time in ten tests on Windows. It was immediately after the Liberty server failed to start.

MavenSingleModMPSIDProjectTest STANDARD_ERROR
    [10084935]   WARN - logger -     Failed on step: Search 'Welcome Frame' by 'FlatWelcomeFrame type' (StepWorker.kt_step)
    [10084935]   WARN - logger -     Failed on step: Search 'Welcome Frame' by 'FlatWelcomeFrame type' (StepWorker.kt_step)

MavenSingleModMPSIDProjectTest > executionError FAILED
    com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT2M) for condition function (Failed to find 'Welcome Frame' by 'FlatWelcomeFrame type' in 120s) 
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:51)
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor$default(RepeatUtils.kt:37)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:53)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:51)
        at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
        at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:51)
        at com.intellij.remoterobot.RemoteRobot.find(RemoteRobot.kt:32)
        at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:34)
        at com.intellij.remoterobot.RemoteRobot.find(RemoteRobot.kt:32)
        at io.openliberty.tools.intellij.it.UIBotTestUtils.validateProjectFrameClosed(UIBotTestUtils.java:396)
        at io.openliberty.tools.intellij.it.SingleModMPProjectTestCommon.closeProjectView(SingleModMPProjectTestCommon.java:78)
        at io.openliberty.tools.intellij.it.MavenSingleModMPSIDProjectTest.cleanup(MavenSingleModMPSIDProjectTest.java:116)

MavenSingleModNLTRestProjectTest STANDARD_OUT
    INFO: 2024-09-24T00:52:14.083720: prepareEnv. Entry. ProjectPath: D:\a\liberty-tools-intellij\liberty-tools-intellij\liberty-tools-intellij\src\test\resources\projects\maven. ProjectName: singleModMavenRESTNoLTXmlCfg

MavenSingleModNLTRestProjectTest STANDARD_ERROR
    [10205708]   WARN - logger -     Failed on step: Search 'Welcome Frame' by 'FlatWelcomeFrame type' (StepWorker.kt_step)
    [10205709]   WARN - logger -     Failed on step: Search 'Welcome Frame' by 'FlatWelcomeFrame type' (StepWorker.kt_step)
    [10207815]   WARN - logger -     Failed on step: Search 'ComponentFixture' by '//div[@class='BaseLabel' and @text='Liberty']' (StepWorker.kt_step)
    [10207815]   WARN - logger -     Failed on step: Search 'ComponentFixture' by '//div[@class='BaseLabel' and @text='Liberty']' (StepWorker.kt_step)
    [10209890]   WARN - logger -     Failed on step: Search 'ComponentFixture' by '//div[@class='ContentComboLabel' and @text='Project']' (StepWorker.kt_step)
    [10209890]   WARN - logger -     Failed on step: Search 'ComponentFixture' by '//div[@class='ContentComboLabel' and @text='Project']' (StepWorker.kt_step)
    [10220961]   WARN - logger -     Failed on step: Waiting for Waiting for menu items containing the Close Project text (StepWorker.kt_step)
    [10220961]   WARN - logger -     Failed on step: Waiting for Waiting for menu items containing the Close Project text (StepWorker.kt_step)

MavenSingleModNLTRestProjectTest > initializationError FAILED
    com.intellij.remoterobot.utils.WaitForConditionTimeoutException: Exceeded timeout (PT2M) for condition function (Failed to find 'Welcome Frame' by 'FlatWelcomeFrame type' in 120s) 
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor(RepeatUtils.kt:51)
        at com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor$default(RepeatUtils.kt:37)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:53)
        at com.intellij.remoterobot.SearchContext$find$1.invoke(SearchContext.kt:51)
        at com.intellij.remoterobot.stepsProcessing.StepWorkerKt.step(StepWorker.kt:23)
        at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:51)
        at com.intellij.remoterobot.RemoteRobot.find(RemoteRobot.kt:32)
        at com.intellij.remoterobot.SearchContext$DefaultImpls.find(SearchContext.kt:34)
        at com.intellij.remoterobot.RemoteRobot.find(RemoteRobot.kt:32)
        at io.openliberty.tools.intellij.it.SingleModNLTRestProjectTestCommon.prepareEnv(SingleModNLTRestProjectTestCommon.java:226)
        at io.openliberty.tools.intellij.it.MavenSingleModNLTRestProjectTest.setup(MavenSingleModNLTRestProjectTest.java:45)

147 tests completed, 8 failed, 16 skipped