Skip to content

Commit

Permalink
latest changes
Browse files Browse the repository at this point in the history
  • Loading branch information
NatashaZav committed Sep 9, 2013
1 parent 9703902 commit 6dc392a
Show file tree
Hide file tree
Showing 9 changed files with 110 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,12 @@ public void Clear(By locator)
FindElement(locator).Clear();
}

public void WaitAndClear(By locator)
{
Trace.WriteLine(BasePage.TraceLevelElement + "Wait and Clear the input field");
WaitForElement(locator).Clear();
}

public void Click(By locator)
{
Trace.WriteLine(BasePage.TraceLevelElement + "Find and Click: '" + locator + "'");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public ExtensionsPage(IWebDriver driver) : base(driver)

public static string ModulesPanel = "//h2[@id='Panel-Modules']";
public static string ModulesAccordion = ModulesPanel + "/a";
public static string ModulesExtensionsList = ModulesPanel + "/following-sibling :: //tr[contains(@class, 'Item')]";
public static string ModulesExtensionsList = ModulesPanel + "/following-sibling :: *//tr[contains(@class, 'Item')]";
public static string CoreLanguagePacksPanel = "//h2[@id='Panel-Core Language Packs']";
public static string CoreLanguagePacksAccordion = CoreLanguagePacksPanel + "/a";
public static string CoreLanguagePacksList = CoreLanguagePacksPanel + "/following-sibling :: *//tr[contains(@class, 'Item')]";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@

namespace DNNSelenium.Common.BaseClasses
{
public class ControlPanelIDs
public class ControlPanelIDs
{
public static string CompanyLogo = "//a[img[@id = 'dnn_dnnLOGO_imgLogo']]";
public static string AwesomeCycles = "Awesome-Cycles-Logo.png";
public static string AnovaMobility = "logo_Anova.png";

public static string PageTitleID = "//span[contains(@id, 'dnnTITLE_titleLabel')]";
public static string PageHeaderID = "//span[@id= 'dnn_dnnBreadcrumb_lblBreadCrumb']/a[last()]";

Expand All @@ -18,7 +22,10 @@ public class ControlPanelIDs

public static string SocialRegisterLink = "//a[@id='dnn_userLogin_registerLink']";
public static string SocialLoginLink = "//a[@id='dnn_userLogin_loginLink']";
public static string SocialLogoutLink = "";
public static string SocialUserLink = "//a[@id = 'dnn_dnnUser_userNameLink']";

public static string SocialUserMenu = "//ul[@class = 'userMenu']";
public static string SocialLogoutLink = "//a[@id = 'dnn_userLogin_logoffLink']";

public static string MessageLink = "dnn_dnnUser_messageLink";
public static string NotificationLink = "dnn_dnnUser_notificationLink";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ public override string PageHeaderLabel
public static string EnableLocalizedContent = "//a[contains(@id, '_languageEnabler_cmdEnableLocalizedContent')]";
public static string DisableLocalizedContent = "//a[contains(@id, '_languageEnabler_cmdDisableLocalization')]";
public static string EnableLocalizedContentUpdateButton = "//a[contains(@id, '_EnableLocalizedContent_updateButton')]";
public static string LocalizationTable =
"//table[contains(@id, 'languageEnabler_languagesGrid')]//th[5]/table[contains(@class, 'DnnGridNestedTable')]";
public static string LanguagesTable = "//table[contains(@id, 'languageEnabler_languagesGrid')]";
public static string LocalizationTable = LanguagesTable + "//th[5]/table[contains(@class, 'DnnGridNestedTable')]";

public void OpenUsingUrl(string baseUrl)
{
Expand Down Expand Up @@ -95,7 +95,7 @@ public void EnableLanguage(string packName)
{
OpenTab(By.XPath(LanguagesTab));

WaitForElement(By.XPath("//table[contains(@id, '_languageEnabler_languagesGrid')]//span[text() = '" + packName + "']"));
WaitForElement(By.XPath(LanguagesTable + "//span[text() = '" + packName + "']"));

CheckBoxCheck(By.XPath("//tr[td//span[text() = '" + packName + "']]/td/input"));

Expand All @@ -106,7 +106,7 @@ public void DisableLanguage(string packName)
{
OpenTab(By.XPath(LanguagesTab));

WaitForElement(By.XPath("//table[contains(@id, '_languageEnabler_languagesGrid')]//span[text() = '" + packName + "']"));
WaitForElement(By.XPath(LanguagesTable + "//span[text() = '" + packName + "']"));

CheckBoxUncheck(By.XPath("//tr[td//span[text() = '" + packName + "']]/td/input"));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ public override string PageHeaderLabel
get { return "Page Management"; }
}

public static string PageList = "//div[contains(@id, 'Tabs_ctlPages')]";

public static string WebsitePagesRadioButton = "//input[contains(@id, 'Tabs_rblMode_0')]";
public static string HostPagesRadioButton = "//input[contains(@id, 'Tabs_rblMode_1')]";
public static string ExpandAllLink = "//a[contains(@id, 'Tabs_cmdExpandTree')]";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public override string PageHeaderLabel
public static string UninstallExtensionButton = "//a[contains(@id, '_EditExtension_cmdDelete')]";
public static string UnistallPackageButton = "//a[contains(@id, '_cmdUninstall')]";
public static string Return2Button = "//a[contains(@id, '_UnInstall_cmdReturn2')]";
public static string DeleteCheckBox = "//input[@id = 'dnn_ctr_UnInstall_chkDelete']";

public static string ExtensionTypeArrow = "//a[contains(@id, '_cboExtensionType_Arrow')]";
public static string ExtensionTypeDropDown = "//div[contains(@id, '_wizNewExtension_cboExtensionType_DropDown')]";
Expand Down Expand Up @@ -113,10 +114,10 @@ public void DeleteLanguagePack(string panelName, string packName)
ScrollIntoView(element, 100);
element.Click();

WaitForElement(By.XPath("//input[contains(@id, 'UnInstall_chkDelete')]")).ScrollIntoView();
WaitForElement(By.XPath("//input[@id = 'dnn_ctr_UnInstall_chkDelete']")).WaitTillEnabled(30);
WaitForElement(By.XPath("//input[@id = 'dnn_ctr_UnInstall_chkDelete']")).Info();
CheckBoxCheck(By.XPath("//input[@id = 'dnn_ctr_UnInstall_chkDelete']"));
WaitForElement(By.XPath(DeleteCheckBox)).ScrollIntoView();
WaitForElement(By.XPath(DeleteCheckBox)).WaitTillEnabled(30);
WaitForElement(By.XPath(DeleteCheckBox)).Info();
CheckBoxCheck(By.XPath(DeleteCheckBox));

Trace.WriteLine(BasePage.TraceLevelPage + "Click on Uninstall Package button :");
ClickOnButton(By.XPath(HostExtensionsPage.UnistallPackageButton));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,23 @@ public void LoginUsingLoginLinkAndFrame(string userName, string password)
Trace.WriteLine(BasePage.TraceLevelComposite + "Login using 'Login' link:");
LetMeOut();

FindElement(By.XPath(ControlPanelIDs.LoginLink)).Click();
switch (FindElement(By.XPath(ControlPanelIDs.CompanyLogo)).GetAttribute("scr").Substring(11))
{
case "Awesome-Cycles-Logo.png":
{
FindElement(By.XPath(ControlPanelIDs.LoginLink)).Click();

break;
}
case "logo_Anova.png":
{
FindElement(By.XPath(ControlPanelIDs.SocialLoginLink)).Click();

break;
}
}

//FindElement(By.XPath(ControlPanelIDs.LoginLink)).Click();

WaitAndSwitchToFrame(30);

Expand Down Expand Up @@ -120,19 +136,63 @@ public void LoginAsHost(string baseUrl)
public void LetMeOut()
{
Trace.WriteLine(BasePage.TraceLevelPage + "Logout");
WaitForElement(By.Id(ControlPanelIDs.LogoutLinkID), 20).Info();

string selector = WaitForElement(By.XPath(ControlPanelIDs.CompanyLogo)).GetAttribute("scr");

switch (selector)
{
case "Awesome-Cycles-Logo.png":
{
WaitForElement(By.Id(ControlPanelIDs.LogoutLinkID), 20).Info();

Trace.WriteLine(BasePage.TraceLevelElement + "Click on button: " + ControlPanelIDs.LogoutLink + "]");
if (ElementPresent(By.XPath(ControlPanelIDs.LogoutLink)))
{
FindElement(By.XPath(ControlPanelIDs.LogoutLink)).Click();
WaitForElement(By.XPath(ControlPanelIDs.LoginLink), 20).WaitTillVisible(20);
}
break;
}
case "logo_Anova.png":
{
WaitAndClick(By.XPath(ControlPanelIDs.SocialUserLink));
WaitAndClick(By.XPath(ControlPanelIDs.SocialLogoutLink));
WaitForElement(By.XPath(ControlPanelIDs.SocialLoginLink));

break;
}
}

/*WaitForElement(By.Id(ControlPanelIDs.LogoutLinkID), 20).Info();
Trace.WriteLine(BasePage.TraceLevelElement + "Click on button: " + ControlPanelIDs.LogoutLink + "]");
if (ElementPresent(By.XPath(ControlPanelIDs.LogoutLink)))
{
FindElement(By.XPath(ControlPanelIDs.LogoutLink)).Click();
WaitForElement(By.XPath(ControlPanelIDs.LoginLink), 20).WaitTillVisible(20);
}
}*/
}

public void DoRegisterUsingRegisterLink(string userName, string displayName, string emailAddress, string password)
{
WaitForElement(By.XPath(ControlPanelIDs.RegisterLink), 20).WaitTillVisible(20).Click();

switch (FindElement(By.XPath(ControlPanelIDs.CompanyLogo)).GetAttribute("scr").Substring(11))
{
case "Awesome-Cycles-Logo.png":
{
WaitForElement(By.XPath(ControlPanelIDs.RegisterLink), 20).WaitTillVisible(20).Click();

break;
}
case "logo_Anova.png":
{
WaitForElement(By.XPath(ControlPanelIDs.SocialRegisterLink), 20).WaitTillVisible(20).Click();

break;
}
}

//WaitForElement(By.XPath(ControlPanelIDs.RegisterLink), 20).WaitTillVisible(20).Click();

Trace.WriteLine(BasePage.TraceLevelPage + "Register a User:");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public void RunBeforeBVTTests()
driver.Quit();
}

//[TearDown]
[TearDown]
public void RunAfterBVTTests()
{
Trace.WriteLine(BasePage.TraceLevelComposite + "BVT Teardown");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public void Test001_AddWebPage()
Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addWebAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addWebAfter +
" ']]//div/span[text() = '" + _pageName + " ']")),
"The page is not present in the list");
}
Expand All @@ -115,28 +115,28 @@ public void Test002_AddWebMultiplePages()
Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName1 + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addWebAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addWebAfter +
" ']]//div/span[text() = '" + _pageName1 + " ']")),
"The page " + _pageName1 + " is not present in the list");

Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName2 + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addWebAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addWebAfter +
" ']]//div/span[text() = '" + _pageName2 + " ']")),
"The page " + _pageName2 + " is not present in the list");

Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName3 + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _pageName2 + " ']]//div/span[text() = '" +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _pageName2 + " ']]//div/span[text() = '" +
_pageName3 + " ']")),
"The page " + _pageName3 + " is not present in the list");

Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName4 + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _pageName2 + " ']]//div/span[text() = '" +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _pageName2 + " ']]//div/span[text() = '" +
_pageName4 + " ']")),
"The page " + _pageName4 + " is not present in the list");
}
Expand Down Expand Up @@ -173,14 +173,14 @@ public void Test004_MoveWebPage()
Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName + "is NOT present in the old location");
Assert.IsFalse(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addWebAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addWebAfter +
" ']]//div/span[text() = '" + _pageName + " ']")),
"The page " + _pageName + " is present in the list after Page '" + _addWebAfter + "'");

Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName + "is present in the new location");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _moveAfterWebPage +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _moveAfterWebPage +
" ']]//div/span[text() = '" + _pageName + " ']")),
"The page " + _pageName + " is not present in the list");
}
Expand All @@ -199,7 +199,7 @@ public void Test005_DeleteWebPage()
Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName + "is NOT present in the list");
Assert.IsFalse(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addWebAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addWebAfter +
" ']]//div/span[text() = '" + _pageName + " ']")),
"The page " + _pageName + " is present in the list");
}
Expand All @@ -217,12 +217,12 @@ public void Test006_AddHostPage()

adminPageManagementPage.OpenUsingButtons(_baseUrl);
adminPageManagementPage.RadioButtonSelect(By.XPath(AdminPageManagementPage.HostPagesRadioButton));
adminPageManagementPage.WaitForElement(By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//span[text() = 'Host ']"));
adminPageManagementPage.WaitForElement(By.XPath(AdminPageManagementPage.PageList + "//span[text() = 'Host ']"));

Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addHostAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addHostAfter +
" ']]//div/span[text() = '" + _pageName + " ']")),
"The page is not present in the list");
}
Expand All @@ -244,28 +244,28 @@ public void Test007_AddHostMultiplePages()
Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName1 + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addHostAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addHostAfter +
" ']]//div/span[text() = '" + _pageName1 + " ']")),
"The page " + _pageName1 + " is not present in the list");

Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName2 + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addHostAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addHostAfter +
" ']]//div/span[text() = '" + _pageName2 + " ']")),
"The page " + _pageName2 + " is not present in the list");

Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName3 + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _pageName2 + " ']]//div/span[text() = '" +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _pageName2 + " ']]//div/span[text() = '" +
_pageName3 + " ']")),
"The page " + _pageName3 + " is not present in the list");

Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName4 + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _pageName2 + " ']]//div/span[text() = '" +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _pageName2 + " ']]//div/span[text() = '" +
_pageName4 + " ']")),
"The page " + _pageName4 + " is not present in the list");
}
Expand Down Expand Up @@ -303,14 +303,14 @@ public void Test009_MoveHostPage()
Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName + "is NOT present in the old location");
Assert.IsFalse(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addHostAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addHostAfter +
" ']]//div/span[text() = '" + _pageName + " ']")),
"The page " + _pageName + " is present in the list after Page '" + _addHostAfter + "'");

Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName + "is present in the new location");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _moveAfterHostPage +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _moveAfterHostPage +
" ']]//div/span[text() = '" + _pageName + " ']")),
"The page " + _pageName + " is not present in the list");
}
Expand All @@ -329,7 +329,7 @@ public void Test010_DeleteHostPage()
Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _pageName + "is NOT present in the list");
Assert.IsFalse(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _addHostAfter +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _addHostAfter +
" ']]//div/span[text() = '" + _pageName + " ']")),
"The page " + _pageName + " is present in the list");
}
Expand Down Expand Up @@ -360,7 +360,7 @@ public void Test011_CopyPage()
Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the page: " + _copiedPageName + "is present in the list");
Assert.IsTrue(
adminPageManagementPage.ElementPresent(
By.XPath("//div[contains(@id, 'Tabs_ctlPages')]//li[div/span[text() = '" + _parentPageName +
By.XPath(AdminPageManagementPage.PageList + "//li[div/span[text() = '" + _parentPageName +
" ']]//div/span[text() = '" + _copiedPageName + " ']")),
"The page is not present in the list");
}
Expand Down

0 comments on commit 6dc392a

Please sign in to comment.