From 8d59e56d548697438ab6054ce747bbd3792e2486 Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Sat, 13 Oct 2018 00:32:03 +0200 Subject: [PATCH 01/10] Mercury skin selector change --- .../pageobjectsfactory/pageobject/WikiBasePageObject.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java b/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java index 778951ebda..153fc6218e 100644 --- a/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java +++ b/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java @@ -67,7 +67,7 @@ private AssertionMessages() { + ".wds-global-navigation__user-logged-in .wds-avatar img"; private static final String WDS_FOOTER_HEADER_CLASS = "wds-global-footer__header"; - private static final By MERCURY_SKIN = By.cssSelector(".mobile-wiki"); + private static final By MERCURY_SKIN = By.cssSelector("#ember-container, .mobile-wiki"); private static final String LOGGED_IN_USER_SELECTOR_MERCURY = ".wds-global-navigation__modal-control-user .wds-avatar__inner-border[title=%userName%]"; private static final By BANNER_NOTIFICATION_CONTAINER = By.cssSelector(".banner-notifications-placeholder,.smart-banner"); From 21c0035d604e3a382c9dad44cfbe6690153f0b2b Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Sat, 13 Oct 2018 00:41:00 +0200 Subject: [PATCH 02/10] sdfg --- .../pageobjectsfactory/pageobject/WikiBasePageObject.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java b/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java index 153fc6218e..a6cbdc02f0 100644 --- a/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java +++ b/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java @@ -67,7 +67,8 @@ private AssertionMessages() { + ".wds-global-navigation__user-logged-in .wds-avatar img"; private static final String WDS_FOOTER_HEADER_CLASS = "wds-global-footer__header"; - private static final By MERCURY_SKIN = By.cssSelector("#ember-container, .mobile-wiki"); +// private static final By MERCURY_SKIN = By.cssSelector("#ember-container, .mobile-wiki"); + private static final By MERCURY_SKIN = By.cssSelector("#ember-container"); private static final String LOGGED_IN_USER_SELECTOR_MERCURY = ".wds-global-navigation__modal-control-user .wds-avatar__inner-border[title=%userName%]"; private static final By BANNER_NOTIFICATION_CONTAINER = By.cssSelector(".banner-notifications-placeholder,.smart-banner"); From 522a9147db4f585fcb8598f85eea8b96b61a97a6 Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Sat, 13 Oct 2018 00:46:52 +0200 Subject: [PATCH 03/10] Increase offset by 100px as a workaround --- .../wikia/webdriver/common/core/elemnt/JavascriptActions.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/wikia/webdriver/common/core/elemnt/JavascriptActions.java b/src/test/java/com/wikia/webdriver/common/core/elemnt/JavascriptActions.java index 61c280a716..66b13851d8 100644 --- a/src/test/java/com/wikia/webdriver/common/core/elemnt/JavascriptActions.java +++ b/src/test/java/com/wikia/webdriver/common/core/elemnt/JavascriptActions.java @@ -156,7 +156,7 @@ private int getOffset() { offset += searchComponent.getHeight(); } - return offset; + return offset + 100; } public void scrollToSpecificElement(WebElement element) { From 0abf18bceaad19bf0d461dd4e3460a72d166bfbf Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Sat, 13 Oct 2018 00:55:09 +0200 Subject: [PATCH 04/10] fds --- .../wikia/webdriver/common/core/elemnt/JavascriptActions.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/wikia/webdriver/common/core/elemnt/JavascriptActions.java b/src/test/java/com/wikia/webdriver/common/core/elemnt/JavascriptActions.java index 66b13851d8..904a9a9a7f 100644 --- a/src/test/java/com/wikia/webdriver/common/core/elemnt/JavascriptActions.java +++ b/src/test/java/com/wikia/webdriver/common/core/elemnt/JavascriptActions.java @@ -156,7 +156,7 @@ private int getOffset() { offset += searchComponent.getHeight(); } - return offset + 100; + return offset + 200; } public void scrollToSpecificElement(WebElement element) { From 8488e58e3e7202e1296d6a13b8c6bb4fe061fb9e Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Sat, 13 Oct 2018 17:46:45 +0200 Subject: [PATCH 05/10] Added optional fandom domain in assertion in testDiscussLinkOnWikiWithDiscussionsWithoutForum --- .../desktop/navigation/local/CommunityHeaderTests.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/local/CommunityHeaderTests.java b/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/local/CommunityHeaderTests.java index f61349b1f8..71fb4c87ec 100644 --- a/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/local/CommunityHeaderTests.java +++ b/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/local/CommunityHeaderTests.java @@ -8,8 +8,8 @@ import com.wikia.webdriver.common.core.configuration.Configuration; import com.wikia.webdriver.common.core.helpers.User; import com.wikia.webdriver.common.templates.NewTestTemplate; -import com.wikia.webdriver.elements.communities.desktop.components.navigation.local.CommunityHeaderDesktop; import com.wikia.webdriver.elements.communities.desktop.components.globalshortcuts.ActionExplorerModal; +import com.wikia.webdriver.elements.communities.desktop.components.navigation.local.CommunityHeaderDesktop; import com.wikia.webdriver.pageobjectsfactory.componentobject.modalwindows.AddMediaModalComponentObject; import com.wikia.webdriver.pageobjectsfactory.componentobject.modalwindows.CreateArticleModalComponentObject; import com.wikia.webdriver.pageobjectsfactory.pageobject.oasis.MainPage; @@ -205,7 +205,7 @@ public void testExploreMenuLinksSzl() { public void testDiscussLinkOnWikiWithDiscussionsWithoutForum() { new CommunityHeaderDesktop().clickDiscussLink(); - Assertion.assertStringContains(driver.getCurrentUrl(),"wikia.com/d/f"); + Assertion.assertTrue(driver.getCurrentUrl().matches(".*(wikia|fandom).com/d/f")); } @RunOnly(language = "szl") From f3cdf5202971751b70fc90aa9d85a43875b2538e Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Sat, 13 Oct 2018 18:02:07 +0200 Subject: [PATCH 06/10] Removed language as this test was not skipped for lang different than szl --- .../desktop/navigation/global/GlobalNavigationLayout.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/global/GlobalNavigationLayout.java b/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/global/GlobalNavigationLayout.java index 48feada974..892025f5bb 100644 --- a/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/global/GlobalNavigationLayout.java +++ b/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/global/GlobalNavigationLayout.java @@ -117,7 +117,7 @@ public void testLayoutForDeLoggedIn() { @RunOnly(language = "szl") @Test(groups = {"globalNavigationBarLayoutForDeLoggedIn"}) - @Execute(language = "szl", asUser = User.USER_GERMAN) + @Execute(asUser = User.USER_GERMAN) public void testLayoutForLoggedInSzl() { GlobalNavigation globalNavigation = new HomePage().getGlobalNavigation(); From ac3e694941d9724d625ff71e4b5b51af66a5b778 Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Sat, 13 Oct 2018 18:13:15 +0200 Subject: [PATCH 07/10] Added optional fandom domain in assertion for testExploreMenuLinks --- .../desktop/navigation/local/CommunityHeaderTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/local/CommunityHeaderTests.java b/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/local/CommunityHeaderTests.java index 71fb4c87ec..ea2dcc4b86 100644 --- a/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/local/CommunityHeaderTests.java +++ b/src/test/java/com/wikia/webdriver/testcases/desktop/navigation/local/CommunityHeaderTests.java @@ -169,7 +169,7 @@ public void testExploreMenuLinks() { communityHeader.openExploreMenu().clickExploreRandomLink(); Assertion.assertTrue(driver.getCurrentUrl() - .matches(".*\\.wikia\\.com/wiki/(?!Special:Images).*")); + .matches(".*\\.(wikia|fandom)\\.com/wiki/(?!Special:Images).*")); } @RunOnly(language = "szl") From 281fe60e3c49ef9841ac7bbd33c65c0aa5c8ff56 Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Sat, 13 Oct 2018 23:30:42 +0200 Subject: [PATCH 08/10] Fixed reset tracking options button's selector --- .../elements/communities/desktop/pages/PrivacyPolicyPage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/wikia/webdriver/elements/communities/desktop/pages/PrivacyPolicyPage.java b/src/test/java/com/wikia/webdriver/elements/communities/desktop/pages/PrivacyPolicyPage.java index b40a09a2be..501cf689f4 100644 --- a/src/test/java/com/wikia/webdriver/elements/communities/desktop/pages/PrivacyPolicyPage.java +++ b/src/test/java/com/wikia/webdriver/elements/communities/desktop/pages/PrivacyPolicyPage.java @@ -9,7 +9,7 @@ public class PrivacyPolicyPage extends WikiBasePageObject { private static final String PRIVACY_POLICY_PAGE = "http://www.wikia.com/Privacy_Policy"; - @FindBy(css = "#privacy-settings-button") + @FindBy(css = ".privacy-settings-button") private WebElement resetTrackingButton; public void navigateToPrivacyPolicyPage() { From 2292b0c7ca71628fb5ab441a8cde30caa267aa08 Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Sun, 14 Oct 2018 02:27:28 +0200 Subject: [PATCH 09/10] A hack to make every login/signup test work --- .../pageobject/WikiBasePageObject.java | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java b/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java index a6cbdc02f0..bd10e93141 100644 --- a/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java +++ b/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java @@ -67,10 +67,9 @@ private AssertionMessages() { + ".wds-global-navigation__user-logged-in .wds-avatar img"; private static final String WDS_FOOTER_HEADER_CLASS = "wds-global-footer__header"; -// private static final By MERCURY_SKIN = By.cssSelector("#ember-container, .mobile-wiki"); - private static final By MERCURY_SKIN = By.cssSelector("#ember-container"); + private static final By MERCURY_SKIN = By.cssSelector(".mobile-wiki"); private static final String LOGGED_IN_USER_SELECTOR_MERCURY = - ".wds-global-navigation__modal-control-user .wds-avatar__inner-border[title=%userName%]"; + ".wds-global-navigation__modal-control-user .wds-avatar__inner-border[title=%userName%], .wds-global-navigation__user-logged-in .wds-avatar img"; private static final By BANNER_NOTIFICATION_CONTAINER = By.cssSelector(".banner-notifications-placeholder,.smart-banner"); private static final By BANNER_NOTIFICATION = By.cssSelector(".banner-notifications-placeholder div div"); private static final By RECIRCULATION_PREFOOTER = By.cssSelector(".recirculation-prefooter"); @@ -386,15 +385,14 @@ public void verifyUserLoggedIn(final String userName) { driver.switchTo().frame("PreviewFrame"); } if (driver.findElements(MERCURY_SKIN).size() > 0) { - wait.forElementVisible(By.cssSelector( - LOGGED_IN_USER_SELECTOR_MERCURY.replace("%userName%", userName.replace(" ", "_")))); - } else { - WebElement avatar = wait.forElementPresent(By.cssSelector(LOGGED_IN_USER_SELECTOR_OASIS)); - String loggedInUserName = avatar.getAttribute("alt"); - if (!loggedInUserName.equals(userName) && !loggedInUserName.equals(userName + " avatar")) { - throw new IllegalArgumentException( - "Invalid user, expected " + userName + ", but found: " + loggedInUserName); + try { + wait.forElementVisible(By.cssSelector( + LOGGED_IN_USER_SELECTOR_MERCURY.replace("%userName%", userName.replace(" ", "_")))); + } catch (TimeoutException e) { + verifyIfElementContainsUsername(By.cssSelector(LOGGED_IN_USER_SELECTOR_OASIS), userName); } + } else { + verifyIfElementContainsUsername(By.cssSelector(LOGGED_IN_USER_SELECTOR_OASIS), userName); } } finally { restoreDefaultImplicitWait(); @@ -403,6 +401,15 @@ public void verifyUserLoggedIn(final String userName) { Log.log("verifyUserLoggedIn", "user " + userName + " logged in", true); } + private void verifyIfElementContainsUsername(By selector,String userName) { + WebElement avatar = wait.forElementPresent(selector); + String loggedInUserName = avatar.getAttribute("alt"); + if (!loggedInUserName.equals(userName) && !loggedInUserName.equals(userName + " avatar")) { + throw new IllegalArgumentException( + "Invalid user, expected " + userName + ", but found: " + loggedInUserName); + } + } + public void verifyUserLoggedIn(User user) { this.verifyUserLoggedIn(user.getUserName()); } From 673efd4c8a8883fe72e97cf34f399585e47ad3c4 Mon Sep 17 00:00:00 2001 From: Szymon Czerwinski Date: Thu, 25 Oct 2018 09:31:49 +0200 Subject: [PATCH 10/10] Revert "A hack to make every login/signup test work" This reverts commit 2292b0c7ca71628fb5ab441a8cde30caa267aa08. --- .../pageobject/WikiBasePageObject.java | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java b/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java index bd10e93141..a6cbdc02f0 100644 --- a/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java +++ b/src/test/java/com/wikia/webdriver/pageobjectsfactory/pageobject/WikiBasePageObject.java @@ -67,9 +67,10 @@ private AssertionMessages() { + ".wds-global-navigation__user-logged-in .wds-avatar img"; private static final String WDS_FOOTER_HEADER_CLASS = "wds-global-footer__header"; - private static final By MERCURY_SKIN = By.cssSelector(".mobile-wiki"); +// private static final By MERCURY_SKIN = By.cssSelector("#ember-container, .mobile-wiki"); + private static final By MERCURY_SKIN = By.cssSelector("#ember-container"); private static final String LOGGED_IN_USER_SELECTOR_MERCURY = - ".wds-global-navigation__modal-control-user .wds-avatar__inner-border[title=%userName%], .wds-global-navigation__user-logged-in .wds-avatar img"; + ".wds-global-navigation__modal-control-user .wds-avatar__inner-border[title=%userName%]"; private static final By BANNER_NOTIFICATION_CONTAINER = By.cssSelector(".banner-notifications-placeholder,.smart-banner"); private static final By BANNER_NOTIFICATION = By.cssSelector(".banner-notifications-placeholder div div"); private static final By RECIRCULATION_PREFOOTER = By.cssSelector(".recirculation-prefooter"); @@ -385,14 +386,15 @@ public void verifyUserLoggedIn(final String userName) { driver.switchTo().frame("PreviewFrame"); } if (driver.findElements(MERCURY_SKIN).size() > 0) { - try { - wait.forElementVisible(By.cssSelector( - LOGGED_IN_USER_SELECTOR_MERCURY.replace("%userName%", userName.replace(" ", "_")))); - } catch (TimeoutException e) { - verifyIfElementContainsUsername(By.cssSelector(LOGGED_IN_USER_SELECTOR_OASIS), userName); - } + wait.forElementVisible(By.cssSelector( + LOGGED_IN_USER_SELECTOR_MERCURY.replace("%userName%", userName.replace(" ", "_")))); } else { - verifyIfElementContainsUsername(By.cssSelector(LOGGED_IN_USER_SELECTOR_OASIS), userName); + WebElement avatar = wait.forElementPresent(By.cssSelector(LOGGED_IN_USER_SELECTOR_OASIS)); + String loggedInUserName = avatar.getAttribute("alt"); + if (!loggedInUserName.equals(userName) && !loggedInUserName.equals(userName + " avatar")) { + throw new IllegalArgumentException( + "Invalid user, expected " + userName + ", but found: " + loggedInUserName); + } } } finally { restoreDefaultImplicitWait(); @@ -401,15 +403,6 @@ public void verifyUserLoggedIn(final String userName) { Log.log("verifyUserLoggedIn", "user " + userName + " logged in", true); } - private void verifyIfElementContainsUsername(By selector,String userName) { - WebElement avatar = wait.forElementPresent(selector); - String loggedInUserName = avatar.getAttribute("alt"); - if (!loggedInUserName.equals(userName) && !loggedInUserName.equals(userName + " avatar")) { - throw new IllegalArgumentException( - "Invalid user, expected " + userName + ", but found: " + loggedInUserName); - } - } - public void verifyUserLoggedIn(User user) { this.verifyUserLoggedIn(user.getUserName()); }