public void LoginToSite() { var doc = XDocument.Load(DataFileLocation); XElement settings = doc.Document.Element("Tests").Element("settings"); _driver = StartBrowser(settings.Attribute("browser").Value); _baseUrl = settings.Attribute("baseURL").Value; _siteAlias = settings.Attribute("siteAlias").Value; _siteName = settings.Attribute("siteName").Value; _pageName = settings.Attribute("pageName").Value; _userName = settings.Attribute("userName").Value; Trace.WriteLine(BasePage.PreconditionsKeyWord); var installerPage = new InstallerPage(_driver); installerPage.OpenUsingUrl(_baseUrl); installerPage.WelcomeScreen(); LoginPage loginPage = new LoginPage(_driver); loginPage.WaitForElement(By.XPath(ControlPanelIDs.LoginLink), 20).WaitTillVisible(20).Click(); loginPage.WaitAndSwitchToFrame(30); loginPage.DoLoginUsingLoginLink("host", "dnnhost"); loginPage.WaitAndSwitchToWindow(30); AdminSiteSettingsPage adminSiteSettingsPage = new AdminSiteSettingsPage(_driver); adminSiteSettingsPage.OpenUsingButtons(_baseUrl); adminSiteSettingsPage.DisablePopups(); }
public void Test001_UserSendsMessage() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'The authorized User can send the message :'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberThree, _password); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenMessagesLink(_baseUrl); var module = new MessageCenterModule(_driver); module.ComposeNewMessage(_userDisplayNameNumberOne, _subject, "Test Message"); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT New message is present in the inbox:"); Assert.That(module.WaitForElement(By.XPath("//ul[@id = 'inbox']//li[@class = 'ListCol-3']//a")).Text, Is.EqualTo(_subject), "Message subject is not found"); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberOne, _password); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT Message icon contains number '1' for incoming message :"); Assert.That(loginPage.WaitForElement(By.XPath(ControlPanelIDs.MessageLink + "/span")).Text, Is.EqualTo("1")); module.OpenMessagesUsingIcon(); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT New message is present in the list:"); Assert.That(module.WaitForElement(By.XPath("//ul[@id = 'inbox']//li[@class = 'ListCol-3']//a")).Text, Is.EqualTo(_subject), "Message subject is not found"); }
public void Test004_RegisterUser() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Register the User'"); var mainPage = new MainPage(_driver); mainPage.OpenUsingUrl(_baseUrl); var loginPage = new LoginPage(_driver); loginPage.RegisterUser(_registeredUserName, _registeredUserDisplayName, "*****@*****.**", _registeredUserPassword); _driver.Navigate().Refresh(); loginPage.LoginAsHost(_baseUrl); var manageUsersPage = new ManageUsersPage(_driver); manageUsersPage.OpenUsingUrl(_baseUrl); manageUsersPage.AuthorizeUser(_registeredUserName); manageUsersPage.OpenUsingControlPanel(_baseUrl); loginPage.LoginUsingLoginLink(_registeredUserName, _registeredUserPassword); mainPage.OpenUsingUrl(_baseUrl); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the User is present on the screen"); Assert.That(mainPage.FindElement(By.XPath(ControlPanelIDs.RegisterLink)).Text, Is.EqualTo(_registeredUserDisplayName), "The registered User is not logged in correctly"); }
public void RunUpgradeTest(XElement settings) { string testName = settings.Attribute("name").Value; string baseUrl = settings.Attribute("baseURL").Value; string browser = settings.Attribute("browser").Value; string userName = settings.Attribute("UserName").Value; string password = settings.Attribute("Password").Value; IWebDriver driver = StartBrowser(browser); Trace.WriteLine("Running TEST: '" + testName + "'"); UpgradePage upgradePage = new UpgradePage(driver); upgradePage.OpenUsingUrl(baseUrl); upgradePage.FillAccountInfo(userName, password); upgradePage.ClickOnUpgradeButton(); upgradePage.WaitForUpgradingProcessToFinish(); upgradePage.ClickOnSeeLogsButton(); upgradePage.WaitForLogContainer(); Trace.WriteLine("Assert Log records: "); StringAssert.DoesNotContain("ERROR", upgradePage.FindElement(By.XPath(UpgradePage.UpgraderLogContainer)).Text, "PLZ check log file, it contains error messages"); upgradePage.ClickOnVisitWebsiteButton(); LoginPage loginPage = new LoginPage(driver); loginPage.WaitForElement(By.XPath(ControlPanelIDs.LoginLink), 20).WaitTillVisible(20).Click(); loginPage.WaitAndSwitchToFrame(30); loginPage.DoLogin(userName, password); loginPage.WaitAndSwitchToWindow(30); HostSettingsPage hostSettingsPage = new HostSettingsPage(driver); hostSettingsPage.OpenUsingButtons(baseUrl); hostSettingsPage.Click(By.XPath(HostSettingsPage.LogsTab)); SlidingSelect.SelectByValue(driver, By.XPath("//a[contains(@id, '" + HostSettingsPage.LogFilesDropDownArrow + "')]"), By.XPath(HostSettingsPage.LogFilesDropDownList), HostSettingsPage.OptionOne, SlidingSelect.SelectByValueType.Contains); hostSettingsPage.WaitForElement(By.XPath(HostSettingsPage.LogContent)); StringAssert.Contains("the script ran successfully", hostSettingsPage.FindElement(By.XPath(HostSettingsPage.LogContent)).Text, "The Log File is not empty"); SlidingSelect.SelectByValue(driver, By.XPath("//a[contains(@id, '" + HostSettingsPage.LogFilesDropDownArrow + "')]"), By.XPath(HostSettingsPage.LogFilesDropDownList), HostSettingsPage.OptionTwo, SlidingSelect.SelectByValueType.Contains); hostSettingsPage.WaitForElement(By.XPath(HostSettingsPage.LogContent)); StringAssert.DoesNotContain("ERROR", hostSettingsPage.FindElement(By.XPath(HostSettingsPage.LogContent)).Text, "The Installer Log File contains ERRORS"); }
public void OpenMainPageAndLoginAsHost() { var mainPage = new MainPage(_driver); mainPage.OpenUsingUrl(_baseUrl); LoginPage loginPage = new LoginPage(_driver); loginPage.LoginAsHost(_baseUrl); }
public void VerifyLogs(string logContentBeforeTests) { Trace.WriteLine(BasePage.TraceLevelComposite + "'Verify Logs on Host Settings page: '"); var loginPage = new LoginPage(_driver); loginPage.LoginAsHost(_baseUrl); string logContentAfterTests = LogContent(); StringAssert.AreEqualIgnoringCase(logContentAfterTests, logContentBeforeTests, "ERROR in the Log"); }
public void LoginToSite() { XDocument doc = XDocument.Load(DataFileLocation); XElement settings = doc.Document.Element("Tests").Element("settings"); XElement testSettings = doc.Document.Element("Tests").Element("journal"); _driver = StartBrowser(settings.Attribute("browser").Value); _baseUrl = settings.Attribute("baseURL").Value; string testName = testSettings.Attribute("name").Value; _userNameNumberOne = testSettings.Attribute("userNameNumberOne").Value; _userNameNumberTwo = testSettings.Attribute("userNameNumberTwo").Value; _userNameNumberThree = testSettings.Attribute("userNameNumberThree").Value; _userDisplayNameNumberOne = testSettings.Attribute("userDisplayNameNumberOne").Value; _userDisplayNameNumberTwo = testSettings.Attribute("userDisplayNameNumberTwo").Value; _userDisplayNameNumberThree = testSettings.Attribute("userDisplayNameNumberThree").Value; _password = testSettings.Attribute("password").Value; _subject = testSettings.Attribute("subject").Value; _comment = testSettings.Attribute("comment").Value; _fileNameToAttach = testSettings.Attribute("fileNameToAttach").Value; _pictureNameToAttach = testSettings.Attribute("pictureNameToAttach").Value; _pageName = testSettings.Attribute("pageName").Value; Trace.WriteLine(BasePage.RunningTestKeyWord + "'" + testName + "'"); Trace.WriteLine(BasePage.PreconditionsKeyWord); OpenMainPageAndLoginAsHost(); var manageUsersPage = new ManageUsersPage(_driver); manageUsersPage.OpenUsingControlPanel(_baseUrl); manageUsersPage.AddNewUser(_userNameNumberOne, _userDisplayNameNumberOne, "*****@*****.**", _password); manageUsersPage.AddNewUser(_userNameNumberTwo, _userDisplayNameNumberTwo, "*****@*****.**", _password); manageUsersPage.AddNewUser(_userNameNumberThree, _userDisplayNameNumberThree, "*****@*****.**", _password); CreatePageAndSetViewPermission(_pageName, "All Users", "allow"); AddModule(_pageName, Modules.CommonModulesDescription, "JournalModule", "ContentPane"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberTwo, _password); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenActivityFeedLink(_baseUrl); var module = new JournalModule(_driver); module.AddNewPostWithVisibilityPermission(_subject + " Community Members", "Community Members"); module.AddNewPostWithVisibilityPermission(_subject + " Private", "Private"); module.AddNewPostWithVisibilityPermission(_subject + " Everyone", "Everyone"); OpenMainPageAndLoginAsHost(); _logContent = LogContent(); }
public void RunBeforeBVTTests() { Trace.WriteLine(BasePage.TraceLevelComposite + "Upgrade Setup"); XDocument doc = XDocument.Load(DataFileLocation); XElement settings = doc.Document.Element("Tests").Element("settings"); IWebDriver driver = TestBase.StartDriver(settings.Attribute("browser").Value); string baseUrl = settings.Attribute("baseURL").Value; string userName = settings.Attribute("UserName").Value; string password = settings.Attribute("Password").Value; Trace.WriteLine("Running TEST: 'BVT over upgraded site'"); UpgradePage upgradePage = new UpgradePage(driver); upgradePage.OpenUsingUrl(baseUrl); upgradePage.FillAccountInfo(userName, password); upgradePage.ClickOnUpgradeButton(); upgradePage.WaitForUpgradingProcessToFinish(); upgradePage.ClickOnSeeLogsButton(); upgradePage.ClickOnVisitWebsiteButton(); LoginPage loginPage = new LoginPage(driver); loginPage.WaitForElement(By.XPath(ControlPanelIDs.LoginLink), 60).WaitTillVisible(20).Click(); loginPage.WaitAndSwitchToFrame(30); loginPage.DoLogin(userName, password); loginPage.WaitAndSwitchToWindow(30); upgradePage.WelcomeScreen(); var adminSiteSettingsPage = new AdminSiteSettingsPage(driver); adminSiteSettingsPage.OpenUsingButtons(baseUrl); adminSiteSettingsPage.DisablePopups(); driver.Quit(); }
public void CreateAdminAndLoginAsAdmin(string userName, string displayName, string email, string password) { Trace.WriteLine(BasePage.TraceLevelComposite + "'Create Admin User and Login as Admin user'"); ManageUsersPage manageUsersPage = new ManageUsersPage(_driver); manageUsersPage.OpenUsingControlPanel(_baseUrl); manageUsersPage.AddNewUser(userName, displayName, email, password); manageUsersPage.ManageRoles(userName); manageUsersPage.AssignRoleToUser("Administrators"); MainPage mainPage = new MainPage(_driver); mainPage.OpenUsingUrl(_baseUrl); LoginPage loginPage = new LoginPage(_driver); loginPage.LoginUsingLoginLink(userName, password); }
public void Test001_RegisteredUserUploadsAvatar() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Registered User uploads Avatar'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _registeredUserName, _registeredUserPassword); var manageUserProfilePage = new ManageUserProfilePage(_driver); manageUserProfilePage.OpenUsingLink(_baseUrl); manageUserProfilePage.AddProfileAvatar(_avatarFileToUpload); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenUsingLink(_baseUrl); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT avatar file is loaded correctly"); userAccountPage.WaitForElement(By.XPath(ManageUserProfilePage.ProfilePhoto)).Info(); Assert.That(manageUserProfilePage.WaitForElement(By.XPath(ManageUserProfilePage.ProfilePhoto)).GetAttribute("src"), Is.StringContaining(_avatarFileToUpload), "The User Avatar is not added correctly"); }
public void Test001_VerifyNoneRegistration() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Verify 'None' registration option'"); var loginPage = new LoginPage(_driver); loginPage.LoginAsHost(_baseUrl); var adminSiteSettingsPage = new AdminSiteSettingsPage(_driver); adminSiteSettingsPage.OpenUsingButtons(_baseUrl); adminSiteSettingsPage.SetUserRegistrationType(AdminSiteSettingsPage.NoneRadioButton); loginPage.LetMeOut(); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the 'Register' link is NOT present on the screen"); Assert.IsFalse(loginPage.ElementPresent(By.XPath(ControlPanelIDs.RegisterLink)), "The Register link is present on the screen"); loginPage.OpenUsingUrl(_baseUrl); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the 'Register' button is NOT present on the screen"); Assert.IsFalse(loginPage.ElementPresent(By.XPath(LoginPage.RegisterFrameButton)), "The Register button is present on the screen"); }
public void Test005_RegisteredUserChangesProfile() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Registered User changes Profile'"); var loginPage = new LoginPage(_driver); loginPage.LetMeOut(); loginPage.OpenUsingUrl(_baseUrl); loginPage.DoLoginUsingUrl(_registeredUserName, _registeredUserPassword); var manageUserProfilePage = new ManageUserProfilePage(_driver); manageUserProfilePage.OpenUsingLink(_baseUrl); manageUserProfilePage.AddCity(_cityName); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenUsingLink(_baseUrl); userAccountPage.OpenMyProfileInfo(); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the City Info is present on the screen"); Assert.That(userAccountPage.FindElement(By.XPath(UserAccountPage.LocationCity)).Text, Is.EqualTo(_cityName), "The City Info is not displayed correctly"); }
public void Test003_PrivatePostOwnerAccessToJournal() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Authorized User Access To Journal'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberTwo, _password); var blankPage = new BlankPage(_driver); blankPage.OpenUsingUrl(_baseUrl, _pageName); var module = new JournalModule(_driver); module.FindElement(By.XPath("//div[@id = 'journalItems']/div[last()]")).Info(); Trace.WriteLine("ASSERT the number of Messages are correct :"); Assert.That(module.FindElements(By.XPath("//div[@id = 'journalItems']/div")).Count, Is.EqualTo(3), "The number of Messages are incorrect"); Trace.WriteLine("ASSERT the visibility is correct :"); Assert.That(module.WaitForElement(By.XPath("//div[@id = 'journalItems']/div[1]//p[1]")).Text, Is.StringContaining("Everyone"), "The wrong message is shown"); Assert.That(module.WaitForElement(By.XPath("//div[@id = 'journalItems']/div[2]//p[1]")).Text, Is.StringContaining("Private"), "The wrong message is shown"); Assert.That(module.WaitForElement(By.XPath("//div[@id = 'journalItems']/div[3]//p[1]")).Text, Is.StringContaining("Community"), "The wrong message is shown"); }
public void SearchResultsOnMainPage() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Search Results Main Page'"); var loginPage = new LoginPage(_driver); loginPage.LoginAsHost(_baseUrl); MainPage mainPage = new MainPage(_driver); mainPage.OpenUsingUrl(_baseUrl); VerifySearchResults(mainPage); }
//[Test] public void NavigationToLoginPage() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Navigation To Login Page'"); var mainPage = new MainPage(_driver); mainPage.OpenUsingUrl(_baseUrl); var loginPage = new LoginPage(_driver); loginPage.LetMeOut(); loginPage.OpenUsingUrl(_baseUrl); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT Page Title for '" + loginPage.PageTitleLabel + "' page:"); StringAssert.Contains(loginPage.PageTitleLabel, loginPage.WaitForElement(By.XPath(ControlPanelIDs.PageTitleID)).Text, "The wrong page is opened or The title of " + loginPage.PageTitleLabel + " page is changed"); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT The Search Box is present'"); Assert.IsTrue(loginPage.ElementPresent(By.XPath(ControlPanelIDs.SearchBox)), "The Search Box is missing."); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT The Search Button is present'"); Assert.IsTrue(loginPage.ElementPresent(By.XPath(ControlPanelIDs.SearchButton)), "The Search Button is missing."); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT Copyright notice is present'"); Utilities.SoftAssert( () => StringAssert.Contains(ControlPanelIDs.CopyrightText, loginPage.FindElement(By.Id(ControlPanelIDs.CopyrightNotice)).Text, "Copyright notice is not present or contains wrong text message")); }
public void Test002_VerifyPrivateRegistration() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Verify 'Private' registration option'"); var loginPage = new LoginPage(_driver); loginPage.LoginAsHost(_baseUrl); var adminSiteSettingsPage = new AdminSiteSettingsPage(_driver); adminSiteSettingsPage.OpenUsingButtons(_baseUrl); adminSiteSettingsPage.SetUserRegistrationType(AdminSiteSettingsPage.PrivateRadioButton); loginPage.RegisterUser(_userWithPrivateRegistration, "DisplayName", "*****@*****.**", "www3434"); loginPage.LoginUsingLoginLink(_userWithPrivateRegistration, "www3434"); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the Warning message is present"); Assert.IsTrue(loginPage.ElementPresent(By.XPath(LoginPage.NotAuthorizedWarningMessage)), "The Warning message is not present"); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the Warning message text is correct"); Assert.That(loginPage.WaitForElement(By.XPath(LoginPage.NotAuthorizedWarningMessage)).Text, Is.EqualTo(LoginPage.NotAuthorizedWarningMessageText), "The Warning message text is not correct"); loginPage.LoginAsHost(_baseUrl); var manageUsersPage = new ManageUsersPage(_driver); manageUsersPage.OpenUsingControlPanel(_baseUrl); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the User is NOT authorized"); Assert.IsFalse( manageUsersPage.ElementPresent( By.XPath("//tr[td[text() = '" + _userWithPrivateRegistration + "']]/td/img[contains(@id, '_imgApproved')]")), "The User is authorized"); }
public void Test004_VerifyVerifiedRegistration() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Verify 'Verified' registration option'"); var loginPage = new LoginPage(_driver); loginPage.LoginAsHost(_baseUrl); var adminSiteSettingsPage = new AdminSiteSettingsPage(_driver); adminSiteSettingsPage.OpenUsingButtons(_baseUrl); adminSiteSettingsPage.SetUserRegistrationType(AdminSiteSettingsPage.VerifiedRadioButton); loginPage.RegisterUser(_userWithVerifiedRegistration, "DisplayName", "*****@*****.**", "www3434"); var manageUserProfilePage = new ManageUserProfilePage(_driver); manageUserProfilePage.OpenUsingLink(_baseUrl); manageUserProfilePage.OpenTab(By.XPath(ManageUserProfilePage.ManageAccountTab)); manageUserProfilePage.AccordionOpen(By.XPath(ManageUserProfilePage.AccountSettings)); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the User can Edit Profile"); Assert.IsTrue(manageUserProfilePage.FindElement(By.XPath(ManageUserProfilePage.DisplayName)).Enabled, "Display Name textbox is disabled"); loginPage.LoginAsHost(_baseUrl); var manageUsersPage = new ManageUsersPage(_driver); manageUsersPage.OpenUsingControlPanel(_baseUrl); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the User is authorized"); Assert.IsFalse( manageUsersPage.ElementPresent( By.XPath("//tr[td[text() = '" + _userWithVerifiedRegistration + "']]/td/img[contains(@id, '_imgApproved')]")), "The User is authorized"); }
public void Test009_UserAttachesFileFromWebsiteToPost() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'The authorized User can attach the picture to the message :'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberThree, _password); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenActivityFeedLink(_baseUrl); var module = new JournalModule(_driver); module.AddNewPostWithAttachedWebsitePicture(_subject, _pictureNameToAttach); Trace.WriteLine("ASSERT the picture displayed correctly:"); Assert.IsTrue(module.ElementPresent(By.XPath("//div[@id = 'journalItems']/div[1]/div[@class = 'journalitem']/div/img[contains(@src, '" + _pictureNameToAttach + "')]")), "Message text is not displayed correctly"); }
public void Test003_RegisteredUserChangesProfile() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Registered User changes Password'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _registeredUserName, _registeredUserPassword); var manageUserProfilePage = new ManageUserProfilePage(_driver); manageUserProfilePage.OpenUsingLink(_baseUrl); manageUserProfilePage.ChangePassword(_registeredUserPassword, _newPassword); loginPage.LoginUsingLoginLink(_registeredUserName, _newPassword); var mainPage = new MainPage(_driver); Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT the name of logged User is correct"); Assert.That(mainPage.WaitForElement(By.XPath(ControlPanelIDs.RegisterLink)).Text, Is.EqualTo(_registeredUserDisplayName), "The User is not added correctly"); }
public void Test006_AnonymousAccessToMemberDirectory() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Anonymous User Access To Member Directory'"); var loginPage = new LoginPage(_driver); loginPage.LetMeOut(); var blankPage = new BlankPage(_driver); blankPage.OpenUsingUrl(_baseUrl, _pageName); var module = new MemberDirectoryModule(_driver); module.FindElement(By.XPath("//ul[@id = 'mdMemberList']/li[last()]")).Info(); Trace.WriteLine("ASSERT the number of Users are correct :"); Assert.That(module.FindElements(By.XPath("//ul[@id = 'mdMemberList']/li")).Count, Is.EqualTo(4), "The number of Users is incorrect"); Trace.WriteLine("ASSERT the link visibility is correct :"); Assert.IsFalse(module.ElementPresent(By.XPath("//ul[@id = 'mdMemberList']/li[1]//div[not(@style)]/div[ul[@class = 'mdHoverActions' and not(@style)]]")), "The links are displayed in User #1 Info"); Assert.IsFalse(module.ElementPresent(By.XPath("//ul[@id = 'mdMemberList']/li[2]//div[not(@style)]/div[ul[@class = 'mdHoverActions' and not(@style)]]")), "The links are displayed in User #2 Info"); Assert.IsFalse(module.ElementPresent(By.XPath("//ul[@id = 'mdMemberList']/li[3]//div[not(@style)]/div[ul[@class = 'mdHoverActions' and not(@style)]]")), "The links are displayed in User #3 Info"); Assert.IsFalse(module.ElementPresent(By.XPath("//ul[@id = 'mdMemberList']/li[4]//div[not(@style)]/div[ul[@class = 'mdHoverActions' and not(@style)]]")), "The links are displayed in User #4 Info"); }
public void SearchResultsOnMainPage() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Search Results Main Page'"); var loginPage = new LoginPage(_driver); loginPage.LetMeOut(); loginPage.OpenUsingUrl(_baseUrl); loginPage.DoLoginUsingLoginLink("host", "dnnhost"); MainPage mainPage = new MainPage(_driver); mainPage.OpenUsingUrl(_baseUrl); VerifySearchResults(mainPage); }
public void Test001_AnonymousAccessToJournal() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Anonymous User Access To Jounal'"); var loginPage = new LoginPage(_driver); loginPage.LetMeOut(); var blankPage = new BlankPage(_driver); blankPage.OpenUsingUrl(_baseUrl, _pageName); var module = new JournalModule(_driver); module.FindElement(By.XPath("//div[@id = 'journalItems']/div[last()]")).Info(); Trace.WriteLine("ASSERT the number of Messages are correct :"); Assert.That(module.FindElements(By.XPath("//div[@id = 'journalItems']/div")).Count, Is.EqualTo(1), "The number of Messages are incorrect"); Trace.WriteLine("ASSERT the visibility is correct :"); Assert.That(module.WaitForElement(By.XPath("//div[@id = 'journalItems']/div[1]//p[1]")).Text, Is.StringContaining("Everyone"), "The wrong message is shown"); Assert.IsFalse(module.ElementPresent(By.XPath("//div[@id = 'journalItems']/div[2]//p[1]")), "Visibility permission is not respected for this message"); Assert.IsFalse(module.ElementPresent(By.XPath("//div[@id = 'journalItems']/div[3]//p[1]")), "Visibility permission is not respected for this message"); }
public void QuickSearchOnLoginPage() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Quick Search On Login Page'"); var loginPage = new LoginPage(_driver); loginPage.LetMeOut(); loginPage.OpenUsingUrl(_baseUrl); VerifyQuickSearch(loginPage); }
public void CreateParentSiteAndPrepareSettings(string parentSiteName, string parentSiteTitle) { Trace.WriteLine(BasePage.TraceLevelComposite + "'Create Parent Site And Prepare Settings: '"); HostSiteManagementPage hostSiteMgmtPage = new HostSiteManagementPage(_driver); hostSiteMgmtPage.OpenUsingButtons(_baseUrl); hostSiteMgmtPage.AddNewParentSite(parentSiteName, parentSiteTitle, "Default Website"); LoginPage loginPage = new LoginPage(_driver); loginPage.OpenUsingUrl(parentSiteName); loginPage.DoLogin("host", "dnnhost"); DisablePopups(parentSiteName); }
private void RunInstallTest(XElement settings) { string testName = settings.Attribute("name").Value; string baseUrl = settings.Attribute("baseURL").Value; string browser = settings.Attribute("browser").Value; string template = settings.Attribute("Template").Value; string installerLanguage = settings.Attribute("InstallerLanguage").Value; string language = settings.Attribute("Language").Value; string username = settings.Attribute("UserName").Value; string password = settings.Attribute("Password").Value; string websiteName = settings.Attribute("WebsiteName").Value; IWebDriver driver = StartBrowser(browser); Trace.WriteLine("Running TEST: '" + testName + "'"); InstallerPage installerPage = new InstallerPage(driver); installerPage.OpenUsingUrl(baseUrl); installerPage.SetInstallerLanguage(installerLanguage); installerPage.SetDictionary(installerLanguage); installerPage.OpenUsingUrl(baseUrl); installerPage.FillAccountInfo(settings); installerPage.SetWebSiteLanguage(language); installerPage.ClickOnContinueButton(); installerPage.WaitForInstallationProcessToFinish(); installerPage.ClickOnVisitWebsiteButton(); Trace.WriteLine(BasePage.TraceLevelComposite + "Login to the site first time, using 'Visit Website' button:"); Trace.WriteLine(BasePage.TraceLevelComposite + "Set site language: '" + language + "'"); installerPage.SetDictionary(language); Trace.WriteLine(BasePage.TraceLevelPage + "Verify frame title: '" + installerPage.CurrentFrameTitle() + "'"); Utilities.SoftAssert(() => StringAssert.AreEqualIgnoringCase(installerPage.Translate("WelcomeScreenTitle"), installerPage.CurrentFrameTitle(), "The Welcome Screen title is missing or incorrect")); installerPage.WaitAndSwitchToFrame(60); installerPage.WaitForElement(By.Id(InstallerPage.IntroVideo), 60).WaitTillVisible(60); installerPage.WaitForElement(By.Id(InstallerPage.WhatIsNew), 60).WaitTillVisible(60); installerPage.WaitForElement(By.Id(InstallerPage.LetMeAtIn), 60).WaitTillEnabled().Click(); installerPage.WaitAndSwitchToWindow(60); LoginPage loginPage = new LoginPage(driver); Trace.WriteLine("Verify Website Name: '" + websiteName + "'"); Utilities.SoftAssert(() => StringAssert.Contains(websiteName, installerPage.CurrentWindowTitle(), "The website name is incorrect")); switch (template) { case "Default Template": { loginPage.LoginUsingLoginLinkAndFrame(username, password); //default template; look for menu options, 4 options should be present Trace.WriteLine("Assert current Template: Default: "); Assert.AreEqual(4, installerPage.FindElements(By.XPath("//ul[@class ='nav nav-pills']/li")).Count(), "This is not a Default page or The number of options are incorrect"); loginPage.LoginUsingUrl(baseUrl, username, password); //default template; look for menu options, 4 options should be present Trace.WriteLine("Assert current Template: Default: "); Assert.AreEqual(4, installerPage.FindElements(By.XPath("//ul[@class = 'nav nav-pills']/li")).Count(), "This is not a Default page or The number of options are incorrect"); break; } case "Mobile Template": { Trace.WriteLine("Assert current Template: Mobile: "); Assert.AreEqual(3, installerPage.FindElements(By.XPath("//ol[@class='mobileInstruction']/li")).Count(), "This is not a Mobile page or The mobile instructions are not present on the page or The number of mobile instructions steps are incorrect"); break; } case "Blank Template": { loginPage.LoginUsingLoginLinkAndFrame(username, password); //blank template; look for the "Home" option (only one option is present) Trace.WriteLine("Assert current Template: Blank: "); Assert.AreEqual(1, installerPage.FindElements(By.XPath("//ul[@id='dnn_pnav']/li")).Count(), "This is not a Blank page or The number of options are incorrect"); loginPage.LoginUsingUrl(baseUrl, username, password); //blank template; look for the "Home" option (only one option is present) Trace.WriteLine("Assert current Template: Blank: "); Assert.AreEqual(1, installerPage.FindElements(By.XPath("//ul[@id='dnn_pnav']/li")).Count(), "This is not a Blank page or The number of options are incorrect"); break; } } }
public void Test004_UserPostsMessage() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'The authorized User can post the message :'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberThree, _password); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenActivityFeedLink(_baseUrl); var module = new JournalModule(_driver); module.AddNewPost(_subject); Trace.WriteLine("ASSERT the author displayed correctly:"); Assert.That(module.WaitForElement(By.XPath("//span[@class = 'authorname']/a")).Text, Is.EqualTo(_userDisplayNameNumberThree), "Message author is not found"); Trace.WriteLine("ASSERT the message displayed correctly:"); Assert.That(module.WaitForElement(By.XPath("//div[@class = 'journalitem']/p[1]")).Text, Is.StringContaining(_userDisplayNameNumberThree + _subject), "Message text is not displayed correctly"); }
public void Test002_AcceptFriendRequest() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Accept Friend Request'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberTwo, _password); var blankPage = new BlankPage(_driver); blankPage.OpenUsingUrl(_baseUrl, _pageName); var module = new MemberDirectoryModule(_driver); module.AcceptFriendRequest(_userDisplayNameNumberThree); Trace.WriteLine("ASSERT 'Pending Request' link changed to 'Remove Friend' link'"); Assert.IsTrue(module.ElementPresent(By.XPath("//div[not(@style)]/div[ul[@class = 'MdMemberInfo']//span[contains(text(), '" + _userDisplayNameNumberThree + "')]]/ul/li[@class = 'mdFriendRemove']"))); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenFriendsLink(_baseUrl); Trace.WriteLine("ASSERT New friend is listed:"); Assert.IsTrue(userAccountPage.ElementPresent(By.XPath("//div[not(@style)]/div/ul[@class = 'MdMemberInfo']//span[contains(text(), '" + _userDisplayNameNumberThree + "')]")), "New Friend is not found"); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberThree, _password); userAccountPage.OpenFriendsLink(_baseUrl); Trace.WriteLine("ASSERT New friend is listed:"); Assert.IsTrue(userAccountPage.ElementPresent(By.XPath("//div[not(@style)]/div/ul[@class = 'MdMemberInfo']//span[contains(text(), '" + _userDisplayNameNumberTwo + "')]")), "New Friend is not found"); }
public void Test005_UserCommentsPost() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'The authorized User can comment the message :'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberThree, _password); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenActivityFeedLink(_baseUrl); var module = new JournalModule(_driver); module.CommentPost(_subject, _comment); Trace.WriteLine("ASSERT the original message is displayed:"); Assert.That(module.WaitForElement(By.XPath("//div[@class = 'journalitem']/p[1]")).Text, Is.EqualTo(_userDisplayNameNumberThree + _subject), "Message text is stiil displayed"); Trace.WriteLine("ASSERT the comment message is displayed:"); Assert.That(module.WaitForElement(By.XPath("//div[p[@class = 'journalfooter']]//li/p")).Text, Is.StringContaining(_userDisplayNameNumberThree + _comment), "Message text is stiil displayed"); }
public void Test001_AddAsFriend() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'Send Friend Request'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberThree, _password); var blankPage = new BlankPage(_driver); blankPage.OpenUsingUrl(_baseUrl, _pageName); var module = new MemberDirectoryModule(_driver); module.AddAsFriend(_userDisplayNameNumberTwo); Trace.WriteLine("ASSERT 'Add Friend link changed to 'Pending Request' link'"); Assert.IsTrue(module.ElementPresent(By.XPath("//div[not(@style)]/div[ul[@class = 'MdMemberInfo']//span[contains(text(), '" + _userDisplayNameNumberTwo + "')]]/ul/li[@class = 'mdFriendPending']"))); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenFriendsLink(_baseUrl); userAccountPage.WaitForElement(By.XPath(MemberDirectoryModule.FriendsNotFoundMessage)).Info(); Trace.WriteLine("ASSERT 'Friends are not found' message is present :"); Assert.That(userAccountPage.FindElement(By.XPath(MemberDirectoryModule.FriendsNotFoundMessage)).Text, Is.EqualTo(MemberDirectoryModule.FriendsNotFoundMessageText), "Info message is not found"); loginPage.LoginUsingDirectUrl(_baseUrl,_userNameNumberTwo, _password); Trace.WriteLine("ASSERT Notification icon contains number '1' for incoming request :"); Assert.That(loginPage.WaitForElement(By.XPath(ControlPanelIDs.NotificationLink + "/span")).Text, Is.EqualTo("1")); }
public void Test006_UserDeletesMessage() { Trace.WriteLine(BasePage.RunningTestKeyWord + "'The authorized User can delete the message :'"); var loginPage = new LoginPage(_driver); loginPage.LoginUsingDirectUrl(_baseUrl, _userNameNumberThree, _password); var userAccountPage = new UserAccountPage(_driver); userAccountPage.OpenActivityFeedLink(_baseUrl); var module = new JournalModule(_driver); module.DeletePost(_subject); Trace.WriteLine("ASSERT the posts are NOT displayed:"); Assert.That(module.FindElements(By.XPath("//div[@id = 'journalItems']/child::*")).Count, Is.EqualTo(0), "The posts are still displayed"); }