[TASk] Stabilize ModuleMenuCest test 98/47798/3
authorChristian Kuhn <lolli@schwarzbu.ch>
Tue, 19 Apr 2016 19:40:06 +0000 (21:40 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Wed, 20 Apr 2016 12:29:26 +0000 (14:29 +0200)
* Wait until content iframe is loaded
* Proceed only if main module elements are visible
* Check for web module only to speed up a bit

Change-Id: If324bfcfd3db80ab5f481909cd053aa2aa201299
Resolves: #75797
Releases: master
Reviewed-on: https://review.typo3.org/47798
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/core/Tests/Acceptance/Backend/General/ModuleMenuCest.php

index ab6d3a2..95d72b7 100644 (file)
@@ -27,6 +27,10 @@ class ModuleMenuCest
     public function _before(Admin $I)
     {
         $I->useExistingSession();
+        // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
+        $I->switchToIFrame('content');
+        $I->waitForText('Web>Page module');
+        $I->switchToIFrame();
     }
 
     /**
@@ -34,19 +38,22 @@ class ModuleMenuCest
      */
     public function checkIfModuleMenuIsCollapsible(Admin $I)
     {
-        foreach (['#web', '#system'] as $moduleGroupId) {
-            $I->seeElement($moduleGroupId . ' .typo3-module-menu-group-container .typo3-module-menu-item');
+        // A sub-element of web module is show
+        $I->waitForElementVisible('#web .typo3-module-menu-group-container .typo3-module-menu-item');
+        $I->seeElement('#web .typo3-module-menu-group-container .typo3-module-menu-item');
 
-            $I->wantTo('collapse the menu element');
-            $I->click($moduleGroupId . ' .typo3-module-menu-group-header');
+        // Collapse web module and verify sub elements are hidden
+        $I->wantTo('collapse the menu element');
+        $I->waitForElementVisible('#web .typo3-module-menu-group-header');
+        $I->click('#web .typo3-module-menu-group-header');
+        $I->waitForElementNotVisible('#web .typo3-module-menu-group-container .typo3-module-menu-item');
+        $I->dontSeeElement('#web .typo3-module-menu-group-container .typo3-module-menu-item');
 
-            $I->waitForElementNotVisible($moduleGroupId . ' .typo3-module-menu-group-container .typo3-module-menu-item');
-
-            $I->wantTo('expand the menu element again');
-            $I->click($moduleGroupId . ' .typo3-module-menu-group-header');
-
-            $I->seeElement($moduleGroupId . ' .typo3-module-menu-group-container .typo3-module-menu-item');
-        }
+        // Expand again and verify sub elements are shown
+        $I->wantTo('expand the menu element again');
+        $I->click('#web .typo3-module-menu-group-header');
+        $I->waitForElementVisible('#web .typo3-module-menu-group-container .typo3-module-menu-item');
+        $I->seeElement('#web .typo3-module-menu-group-container .typo3-module-menu-item');
     }
 
     /**