[BUGFIX] Acceptance tests fails due to viewport changes 17/50217/8
authorChristian Kuhn <lolli@schwarzbu.ch>
Thu, 13 Oct 2016 14:51:31 +0000 (16:51 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sat, 15 Oct 2016 13:39:23 +0000 (15:39 +0200)
Fix a couple of acceptance test selectors to adapt to
viewport changes.

Change-Id: I72050096c5c01134af2416f6610b416a2b9771b7
Resolves: #78287
Related: #52877
Releases: master
Reviewed-on: https://review.typo3.org/50217
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
17 files changed:
typo3/sysext/core/Tests/Acceptance/Backend/BackendUser/ListUserCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Extensionmanager/InstalledExtensionsCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Formhandler/CategoryTreeCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Formhandler/ElementsBasicCest.php
typo3/sysext/core/Tests/Acceptance/Backend/General/ModuleMenuCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Login/BackendLoginCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Page/AddPageInPageModuleCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Page/PageModuleCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Scheduler/TasksCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Topbar/BookmarkCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Topbar/FlushCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Topbar/HelpCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Topbar/LogoCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Topbar/SearchCest.php
typo3/sysext/core/Tests/Acceptance/Backend/Topbar/UsernameOnAvatarCest.php
typo3/sysext/core/Tests/Acceptance/Support/Helper/Topbar.php
typo3/sysext/core/Tests/AcceptanceCoreEnvironment.php

index bef864d..6100afd 100644 (file)
@@ -28,6 +28,10 @@ class ListUserCest
     public function _before(Admin $I)
     {
         $I->useExistingSession();
+        // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
+        $I->switchToIFrame('contentIframe');
+        $I->waitForText('Web Content Management System');
+        $I->switchToIFrame();
 
         $I->see('Backend users');
         $I->click('Backend users');
index 398bccd..e89075a 100644 (file)
@@ -27,14 +27,12 @@ class InstalledExtensionsCest
     public function _before(Admin $I)
     {
         $I->useExistingSession();
+        // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
+        $I->switchToIFrame('contentIframe');
+        $I->waitForText('Web Content Management System');
+        $I->switchToIFrame();
 
-        // clear the localstorage to fix problems in phantomJs where the search
-        // sometimes is preserved over multiple sessions
-        $I->executeInSelenium(function (\Facebook\WebDriver\Remote\RemoteWebDriver $webDriver) {
-            $webDriver->executeScript('localStorage.clear();');
-        });
-
-        $I->click('Extensions', '#typo3-module-menu');
+        $I->click('Extensions', '#menu');
         $I->switchToIFrame('contentIframe');
         $I->waitForElementVisible('#typo3-extension-list');
     }
@@ -79,7 +77,7 @@ class InstalledExtensionsCest
     public function checkIfInstallingAnExtensionWithBackendModuleAddsTheModuleToTheModuleMenu(Admin $I)
     {
         $I->switchToIFrame();
-        $I->canSeeElement('.typo3-module-menu-item');
+        $I->canSeeElement('.modulemenu-item-link');
         $I->cantSeeElement('#web_RecyclerRecycler');
 
         $I->switchToIFrame('contentIframe');
index 8dc1011..2c3e716 100644 (file)
@@ -27,6 +27,10 @@ class CategoryTreeCest
     public function _before(Admin $I)
     {
         $I->useExistingSession();
+        // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
+        $I->switchToIFrame('contentIframe');
+        $I->waitForText('Web Content Management System');
+        $I->switchToIFrame();
     }
 
     /**
@@ -35,7 +39,7 @@ class CategoryTreeCest
     public function checkIfCategoryListIsAvailable(Admin $I)
     {
         // A sub-element of web module is show
-        $I->waitForElementVisible('#web .typo3-module-menu-group-container .typo3-module-menu-item');
+        $I->waitForElementVisible('#web .modulemenu-group-container .modulemenu-item');
         $I->click('#web_list');
         $I->switchToIFrame('contentIframe');
         $I->waitForElement('#recordlist-sys_category');
@@ -48,7 +52,7 @@ class CategoryTreeCest
     public function editCategoryItem(Admin $I)
     {
         // A sub-element of web module is show
-        $I->waitForElementVisible('#web .typo3-module-menu-group-container .typo3-module-menu-item');
+        $I->waitForElementVisible('#web .modulemenu-group-container .modulemenu-item');
         $I->click('#web_list');
         $I->switchToIFrame('contentIframe');
         // Select category with id 7
index e5008e3..fc5752c 100644 (file)
@@ -32,6 +32,10 @@ class ElementsBasicCest
     public function _before(Admin $I, PageTree $pageTree)
     {
         $I->useExistingSession();
+        // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
+        $I->switchToIFrame('contentIframe');
+        $I->waitForText('Web Content Management System');
+        $I->switchToIFrame();
 
         $I->click('List');
         $pageTree->openPath(['styleguide TCA demo', 'elements basic']);
index 1c763fe..63787e0 100644 (file)
@@ -29,7 +29,7 @@ class ModuleMenuCest
         $I->useExistingSession();
         // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
         $I->switchToIFrame('contentIframe');
-        $I->waitForText('Web>Page module');
+        $I->waitForText('Web Content Management System');
         $I->switchToIFrame();
     }
 
@@ -38,22 +38,22 @@ class ModuleMenuCest
      */
     public function checkIfModuleMenuIsCollapsible(Admin $I)
     {
-        // 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');
+        // A sub-element of web module is shown
+        $I->waitForElementVisible('#web .modulemenu-group-container .modulemenu-item');
+        $I->seeElement('#web .modulemenu-group-container .modulemenu-item');
 
         // 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->waitForElementVisible('#web .modulemenu-group-header');
+        $I->click('#web .modulemenu-group-header');
+        $I->waitForElementNotVisible('#web .modulemenu-group-container .modulemenu-item');
+        $I->dontSeeElement('#web .modulemenu-group-container .modulemenu-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');
+        $I->click('#web .modulemenu-group-header');
+        $I->waitForElementVisible('#web .modulemenu-group-container .modulemenu-item');
+        $I->seeElement('#web .modulemenu-group-container .modulemenu-item');
     }
 
     /**
@@ -61,11 +61,11 @@ class ModuleMenuCest
      */
     public function selectingAModuleDoesHighlightIt(Admin $I)
     {
-        $I->seeNumberOfElements('#web .typo3-module-menu-item-link', [2, 20]);
+        $I->seeNumberOfElements('#web .modulemenu-item-link', [2, 20]);
 
         $I->wantTo('check that the second element has no "active" class\'');
         $I->cantSeeElement('#web #web_list.active');
-        $I->click('#web #web_list .typo3-module-menu-item-link');
+        $I->click('#web #web_list .modulemenu-item-link');
 
         $I->wantTo('see that the second element has an "active" class');
         $I->canSeeElement('#web #web_list.active');
index 047bf47..4f52fd1 100644 (file)
@@ -107,7 +107,7 @@ class BackendLoginCest
         $this->login($I, 'editor', 'password');
 
         // user is redirected to 'about modules' after login, but must not see the 'admin tools' section
-        $I->cantSee('Admin tools', '#typo3-menu');
+        $I->cantSee('Admin tools', '#menu');
 
         $topBarItemSelector = Topbar::$containerSelector . ' ' . Topbar::$dropdownToggleSelector . ' *';
 
@@ -139,7 +139,7 @@ class BackendLoginCest
         $I->click('#t3-login-submit-section > button');
         // wait for the next to element to indicate if the backend was loaded successful
         $I->waitForElement('.nav', 30);
-        $I->waitForElement('#typo3-contentContainer iframe', 30);
+        $I->waitForElement('.scaffold-content iframe', 30);
         $I->seeCookie('be_lastLoginProvider');
         $I->seeCookie('be_typo_user');
     }
index 86e3e08..3f9edf2 100644 (file)
@@ -26,7 +26,7 @@ class AddPageInPageModuleCest
         $I->useExistingSession();
         // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
         $I->switchToIFrame('contentIframe');
-        $I->waitForText('Web>Page module');
+        $I->waitForText('Web Content Management System');
         $I->switchToIFrame();
     }
 
@@ -43,7 +43,7 @@ class AddPageInPageModuleCest
         $I->click('Page');
 
         // New page from root page
-        $typo3NavigationContainer = '#typo3-navigationContainer';
+        $typo3NavigationContainer = '.scaffold-content-navigation-component';
         $I->waitForElement($typo3NavigationContainer);
         $rootNode = 'a.x-tree-node-anchor > span';
         $rootNodeIcon = '#extdd-1 > span.t3js-icon.icon.icon-size-small.icon-state-default.icon-apps-pagetree-root';
index 855f9b4..ddac382 100644 (file)
@@ -25,6 +25,10 @@ class PageModuleCest
     public function _before(Admin $I)
     {
         $I->useExistingSession();
+        // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
+        $I->switchToIFrame('contentIframe');
+        $I->waitForText('Web Content Management System');
+        $I->switchToIFrame();
     }
 
     /**
index 287f628..42104b6 100644 (file)
@@ -28,6 +28,10 @@ class TasksCest
     public function _before(Admin $I)
     {
         $I->useExistingSession();
+        // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
+        $I->switchToIFrame('contentIframe');
+        $I->waitForText('Web Content Management System');
+        $I->switchToIFrame();
 
         $I->see('Scheduler', '#system_txschedulerM1');
         $I->click('Scheduler', '#system_txschedulerM1');
index 7cd48ca..518596d 100644 (file)
@@ -46,7 +46,7 @@ class BookmarkCest
         $I->useExistingSession();
         // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
         $I->switchToIFrame('contentIframe');
-        $I->waitForText('Web>Page module');
+        $I->waitForText('Web Content Management System');
         $I->switchToIFrame();
     }
 
@@ -88,7 +88,7 @@ class BookmarkCest
         $dialog->clickButtonInDialog('OK');
 
         $this->clickBookmarkDropdownToggleInTopbar($I);
-        $I->waitForText('Scheduled tasks', 15, self::$topBarModuleSelector . ' ' . Topbar::$dropdownContainerSelector);
+        $I->waitForText('Scheduled tasks', 15, self::$topBarModuleSelector . ' ' . Topbar::$dropdownListSelector);
 
         // @test complete test when https://forge.typo3.org/issues/75689 is fixed
         $scenario->comment(
index 7e24401..b341994 100644 (file)
@@ -37,7 +37,7 @@ class FlushCest
         $I->useExistingSession();
         // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
         $I->switchToIFrame('contentIframe');
-        $I->waitForText('Web>Page module');
+        $I->waitForText('Web Content Management System');
         $I->switchToIFrame();
     }
 
index c2c374f..f7709dd 100644 (file)
@@ -37,7 +37,7 @@ class HelpCest
         $I->useExistingSession();
         // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
         $I->switchToIFrame('contentIframe');
-        $I->waitForText('Web>Page module');
+        $I->waitForText('Web Content Management System');
         $I->switchToIFrame();
     }
 
index 2318382..7c55bc9 100644 (file)
@@ -29,7 +29,7 @@ class LogoCest
         $I->useExistingSession();
         // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
         $I->switchToIFrame('contentIframe');
-        $I->waitForText('Web>Page module');
+        $I->waitForText('Web Content Management System');
         $I->switchToIFrame();
     }
 
@@ -38,6 +38,6 @@ class LogoCest
      */
     public function checkIfTypo3LogoIsLinked(Admin $I)
     {
-        $I->seeElement('#typo3-topbar .typo3-topbar-site-logo', ['href' => 'https://typo3.org/']);
+        $I->seeElement('a.topbar-header-site', ['href' => 'https://typo3.org/']);
     }
 }
index 4d11892..d16cade 100644 (file)
@@ -35,6 +35,10 @@ class SearchCest
     public function _before(Admin $I)
     {
         $I->useExistingSession();
+        // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
+        $I->switchToIFrame('contentIframe');
+        $I->waitForText('Web Content Management System');
+        $I->switchToIFrame();
     }
 
     /**
@@ -47,7 +51,7 @@ class SearchCest
         $I->waitForElementVisible(self::$topBarModuleSelector . ' ' . Topbar::$dropdownListSelector);
 
         $I->canSee('Backend user', self::$topBarModuleSelector);
-        $I->click('.icon-status-user-admin', self::$topBarModuleSelector);
+        $I->click('admin', self::$topBarModuleSelector);
 
         $I->switchToIFrame('contentIframe');
         $I->waitForElementVisible('#EditDocumentController');
index 5aa9afa..21d64cf 100644 (file)
@@ -26,7 +26,7 @@ class UsernameOnAvatarCest
         $I->useExistingSession();
         // Ensure main content frame is fully loaded, otherwise there are load-race-conditions
         $I->switchToIFrame('contentIframe');
-        $I->waitForText('Web>Page module');
+        $I->waitForText('Web Content Management System');
         $I->switchToIFrame();
     }
 
index f359591..5b481c0 100644 (file)
@@ -24,21 +24,14 @@ class Topbar
      *
      * @var string
      */
-    public static $containerSelector = '.t3js-scaffold-topbar';
+    public static $containerSelector = '.t3js-scaffold-toolbar';
 
     /**
      * Selector for the dropdown container
      *
      * @var string
      */
-    public static $dropdownContainerSelector = '.dropdown-menu';
-
-    /**
-     * Selector for the dropdown container
-     *
-     * @var string
-     */
-    public static $dropdownListSelector = '.dropdown-menu .dropdown-list';
+    public static $dropdownListSelector = '.dropdown-menu';
 
     /**
      * Selector for the dropdown toggle
index 85714a0..6547c3c 100644 (file)
@@ -220,6 +220,7 @@ class AcceptanceCoreEnvironment extends Extension
             'rsaauth',
             'saltedpasswords',
             'backend',
+            'about',
             'belog',
             'install',
             't3skin',
@@ -255,6 +256,9 @@ class AcceptanceCoreEnvironment extends Extension
 
         $styleguideGenerator = new Generator();
         $styleguideGenerator->create();
+
+        // @todo: Find out why that is needed to execute the first test successfully
+        $this->cleanupTypo3Environment();
     }
 
     /**