Beispiel #1
0
		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();
		}
Beispiel #2
0
		public void RunBeforeBVTTests()
		{
			Trace.WriteLine(BasePage.TraceLevelComposite + "BVT Setup");

			XDocument doc = XDocument.Load(DataFileLocation);

			XElement settings = doc.Document.Element("Tests").Element("settings");

			string testName = settings.Attribute("name").Value;
			string installerLanguage = settings.Attribute("InstallerLanguage").Value;

			IWebDriver driver = TestBase.StartDriver(settings.Attribute("browser").Value);
			string baseUrl = settings.Attribute("baseURL").Value;
			bool dummyProvider = settings.Attribute("runWithDummyCachingProvider")
										 .Value.Equals("yes", StringComparison.InvariantCultureIgnoreCase);

			Trace.WriteLine(BasePage.RunningTestKeyWord + "'" + testName + "'");
			Trace.WriteLine(BasePage.PreconditionsKeyWord);

			var installerPage = new InstallerPage(driver);

			installerPage.OpenUsingUrl(baseUrl);

			installerPage.SetInstallerLanguage(installerLanguage);
			installerPage.SetDictionary(installerLanguage);

			installerPage.FillAccountInfo(settings);

			installerPage.ClickOnContinueButton();

			installerPage.WaitForInstallationProcessToFinish();

			installerPage.ClickOnVisitWebsiteButton();

			installerPage.WelcomeScreen(); 

			var adminSiteSettingsPage = new AdminSiteSettingsPage(driver);
			adminSiteSettingsPage.OpenUsingButtons(baseUrl);
			adminSiteSettingsPage.DisablePopups();

			if (dummyProvider)
			{
				var hostExtensionsPage = new HostExtensionsPage(driver);
				hostExtensionsPage.OpenUsingButtons(baseUrl);
				hostExtensionsPage.InstallExtension(@"Drivers\" + "DummySerializationCachingProvider_01.00.01_Install.zip");
			}
			
			driver.Quit();
		}
Beispiel #3
0
		public void RunBeforeBVTTests()
		{
			Trace.WriteLine(BasePage.TraceLevelComposite + "BVT Setup");

			XDocument doc = XDocument.Load(DataFileLocation);

			XElement settings = doc.Document.Element("Tests").Element("settings");

			string testName = settings.Attribute("name").Value;
			string installerLanguage = settings.Attribute("InstallerLanguage").Value;

			IWebDriver driver = TestBase.StartDriver(settings.Attribute("browser").Value);
			string baseUrl = settings.Attribute("baseURL").Value;

			Trace.WriteLine(BasePage.RunningTestKeyWord + "'" + testName + "'");
			Trace.WriteLine(BasePage.PreconditionsKeyWord);

			var installerPage = new InstallerPage(driver);

			installerPage.OpenUsingUrl(baseUrl);

			installerPage.SetInstallerLanguage(installerLanguage);
			installerPage.SetDictionary(installerLanguage);

			installerPage.FillAccountInfo(settings);

			installerPage.ClickOnContinueButton();

			installerPage.WaitForInstallationProcessToFinish();

			installerPage.ClickOnVisitWebsiteButton();

			installerPage.WelcomeScreen();

			var adminSiteSettingsPage = new AdminSiteSettingsPage(driver);
			adminSiteSettingsPage.OpenUsingButtons(baseUrl);
			adminSiteSettingsPage.DisablePopups();

			driver.Quit();
		}
Beispiel #4
0
		private void RunInstallerLogTest(XElement settings)
		{
			string testName = settings.Attribute("name").Value;
			string baseUrl = settings.Attribute("baseURL").Value;
			string browser = settings.Attribute("browser").Value;
			string installerLanguage = settings.Attribute("InstallerLanguage").Value;
			string language = settings.Attribute("Language").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.ClickOnSeeLogsButton();

			installerPage.WaitForLogContainer();

			Trace.WriteLine("Assert Log records: ");
			StringAssert.DoesNotContain("ERROR", installerPage.FindElement(By.Id(InstallerPage.InstallerLogContainer)).Text, "PLZ check log file, it contains error messages");

			installerPage.ClickOnVisitWebsiteButton();

			installerPage.WelcomeScreen();

			Trace.WriteLine("Assert Log files do not contain ERRORs ");

			HostSettingsPage hostSettingsPage = new HostSettingsPage(driver);
			hostSettingsPage.SetDictionary(language);
			hostSettingsPage.OpenUsingButtons(baseUrl);

			hostSettingsPage.WaitAndClick(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), 30);
			StringAssert.Contains(hostSettingsPage.Translate("Successfull Log"), 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), 30);
			StringAssert.DoesNotContain("ERROR", hostSettingsPage.FindElement(By.XPath(HostSettingsPage.LogContent)).Text, "The Installer Log File contains ERRORS");
		}
Beispiel #5
0
		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;
					}
			}

		}
Beispiel #6
0
		public void RunLayoutTest(XElement settings)
		{
			string testName = settings.Attribute("name").Value;
			string baseUrl = settings.Attribute("baseURL").Value;
			string browser = settings.Attribute("browser").Value;
			string installerLanguage = settings.Attribute("InstallerLanguage").Value;
			string edition = settings.Attribute("edition").Value;
			string template = settings.Attribute("Template").Value;
			string language = settings.Attribute("Language").Value;

			IWebDriver driver = StartBrowser(browser);

			Trace.WriteLine("Running TEST: '" + testName + "'");

			InstallerPage installerPage = new InstallerPage(driver);

			installerPage.OpenUsingUrl(baseUrl);

			installerPage.SetInstallerLanguage(installerLanguage);
			installerPage.SetDictionary(installerLanguage);

			#region Layout Tests on Account Info Tab
			//Tab conditions; Current Tab - Account Info
			Trace.WriteLine(BasePage.TraceLevelPage + "The current Account Info Tab:");

			//Verify Installation page title
			installerPage.WaitForElement(By.Id(InstallerPage.InstallerPageTitle)).WaitTillVisible(20);
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify page title: '" + InstallerPage.InstallerPageTitle + "'" + " 'DotNetNuke Installation'");
			Utilities.SoftAssert(() => StringAssert.Contains(installerPage.Translate("PageTitle"), installerPage.FindElement(By.Id(InstallerPage.InstallerPageTitle)).Text,
							"The page title is missing or incorrect"));

			Trace.WriteLine(BasePage.TraceLevelPage + "Verify Tabs condition on Account Info Tab: ");
			Utilities.SoftAssert(() => StringAssert.Contains("active", installerPage.FindElement(By.Id(InstallerPage.AccountInfoTab)).GetAttribute("class"), "Account Info Tab is not active"));
			Utilities.SoftAssert(() => StringAssert.Contains("disabled", installerPage.FindElement(By.Id(InstallerPage.InstallInfoTab)).GetAttribute("class"), "Installation Tab is not disabled"));
			Utilities.SoftAssert(() => StringAssert.Contains("disabled", installerPage.FindElement(By.Id(InstallerPage.WebInfoTab)).GetAttribute("class"), "View Website Tab is not disabled"));

			//flags
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify the number of flags:");
			Utilities.SoftAssert(() => Assert.AreEqual(6, installerPage.FindElements(By.XPath("//div[@id='languageFlags']/a")).Count(), "The number of flags are incorrect"));

			//flags bubble help
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify the flag bubble-help is present:");
			Utilities.SoftAssert(() => Assert.That("English (United States)", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.EnglishIconId)).GetAttribute("title")), "English flag is missing the bubble-help"));
			Utilities.SoftAssert(() => Assert.That("Deutsch (Deutschland)", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.GermanIconId)).GetAttribute("title")), "German flag is missing the bubble-help"));
			Utilities.SoftAssert(() => Assert.That("Espanol (Espana)", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.SpanishIconId)).GetAttribute("title")), "Spanish flag is missing the bubble-help"));
			Utilities.SoftAssert(() => Assert.That("italiano (Italia)", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.ItalianIconId)).GetAttribute("title")), "Italian flag is missing the bubble-help"));
			Utilities.SoftAssert(() => Assert.That("francais (France)", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.FrenchIconId)).GetAttribute("title")), "French flag is missing the bubble-help"));
			Utilities.SoftAssert(() => Assert.That("Nederlands (Nederland)", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.HollandIconId)).GetAttribute("title")), "Nederlands flag is missing the bubble-help"));

			//Templates; Community edition has only 2 options - Blank and Default
			if (edition != "community")
			{
				Trace.WriteLine(BasePage.TraceLevelPage + "Verify the number of options for Template drop-down: '" + edition + "' edition");
				Utilities.SoftAssert(() => Assert.AreEqual(3, SlidingSelect.CountAllOptions(driver, By.Id(InstallerPage.TemplateArrow), By.XPath(InstallerPage.TemplateDropdown)),
					"Template drop-down contains incorrect number of options"));
			}
			else
			{
				Trace.WriteLine(BasePage.TraceLevelPage + "Verify the number of options for Template drop-down: '" + edition + "' edition");
				Utilities.SoftAssert(() => Assert.AreEqual(2, SlidingSelect.CountAllOptions(driver, By.Id(InstallerPage.TemplateArrow), By.XPath(InstallerPage.TemplateDropdown)),
					"Template drop-down contains incorrect number of options"));
			}


			//Languages
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify the number of options for Language drop-down:");
			Utilities.SoftAssert(() => Assert.AreEqual(6, SlidingSelect.CountAllOptions(driver, By.Id(InstallerPage.LanguageArrow), By.XPath(InstallerPage.LanguageDropdown)),
					"Language drop-down contains incorrect number of options"));

			//mandatory fields
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify mandatory fields:");
			Utilities.SoftAssert(() => StringAssert.Contains("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.UserNameLabel)).GetAttribute("class"), "Username field does not have \"required\" class"));
			Utilities.SoftAssert(() => StringAssert.Contains("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.PasswordLabel)).GetAttribute("class"), "Password field does not have \"required\" class"));
			Utilities.SoftAssert(() => StringAssert.Contains("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.ConfirmPasswordLabel)).GetAttribute("class"), "Confirm Password field does not have \"required\" class"));

			Utilities.SoftAssert(() => StringAssert.Contains("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.WebsiteNameLabel)).GetAttribute("class"), "WebsiteName field does not have \"required\" class"));
			Utilities.SoftAssert(() => StringAssert.DoesNotContain("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.TemplateLabel)).GetAttribute("class"), "Template field has \"required\" class when it shouldn't"));
			Utilities.SoftAssert(() => StringAssert.DoesNotContain("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.LanguageLabel)).GetAttribute("class"), "Language field has \"required\" class when it shouldn't"));

			RadioButton.Select(driver, By.Id(InstallerPage.DatabaseSetupCustom));

			Utilities.SoftAssert(() => StringAssert.Contains("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.DatabaseServerLabel)).GetAttribute("class"), "Server Name field does not have \"required\" class"));
			Utilities.SoftAssert(() => StringAssert.Contains("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.DatabaseFilenameLabel)).GetAttribute("class"), "Database File Name field does not have \"required\" class"));
			Utilities.SoftAssert(() => StringAssert.DoesNotContain("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.DatabaseObjectQualifierLabel)).GetAttribute("class"), "Object Qualifier field has the \"required\" class and it shouldnt"));

			RadioButton.Select(driver, By.Id(InstallerPage.DatabaseSetupTypeSqlServer));

			Utilities.SoftAssert(() => StringAssert.Contains("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.DatabaseServerLabel)).GetAttribute("class"), "Server Name field does not have \"required\" class"));
			Utilities.SoftAssert(() => StringAssert.Contains("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.DatabaseNameLabel)).GetAttribute("class"), "Database Name field does not have \"required\" class"));
			Utilities.SoftAssert(() => StringAssert.DoesNotContain("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.DatabaseObjectQualifierLabel)).GetAttribute("class"), "Object Qualifier field has the \"required\" class and it shouldnt"));

			RadioButton.Select(driver, By.Id(InstallerPage.DatabaseSecurityUserDefined));

			Utilities.SoftAssert(() => StringAssert.Contains("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.DatabaseUserNameLabel)).GetAttribute("class"), "Database Username field does not have \"required\" class"));
			Utilities.SoftAssert(() => StringAssert.DoesNotContain("dnnFormRequired", installerPage.FindElement(By.Id(InstallerPage.DatabasePasswordLabel)).GetAttribute("class"), "Database Password field has the \"required\" class and it shouldnt"));

			#endregion

			installerPage.OpenUsingUrl(baseUrl);
			installerPage.FillAccountInfo(settings);

			installerPage.SetWebSiteLanguage(language);

			installerPage.ClickOnContinueButton();

			//Tab conditions; Current Tab - Installation Tab
			Trace.WriteLine(BasePage.TraceLevelPage + "The current is Installation Tab:");
			installerPage.WaitForElement(By.XPath("//p[@id='" + InstallerPage.FileAndFolderPermissionCheck + "' and @class ='step-done']"), 25);


			#region Layout Tests on Installation Tab
			//Verify Installation page title
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify page title: '" + InstallerPage.InstallerPageTitle + "'" + " 'DotNetNuke Installation'");
			Utilities.SoftAssert(() => StringAssert.Contains(installerPage.Translate("PageTitle"), installerPage.FindElement(By.Id(InstallerPage.InstallerPageTitle)).Text,
							"The page title is missing or incorrect"));

			Trace.WriteLine(BasePage.TraceLevelPage + "Verify Tabs condition on Installation Tab: ");
			Utilities.SoftAssert(() => StringAssert.Contains("disabled", installerPage.FindElement(By.Id(InstallerPage.AccountInfoTab)).GetAttribute("class"), "Account Info Tab is not disabled"));
			Utilities.SoftAssert(() => StringAssert.Contains("active", installerPage.FindElement(By.Id(InstallerPage.InstallInfoTab)).GetAttribute("class"), "Installation Tab is not active"));
			Utilities.SoftAssert(() => StringAssert.Contains("disabled", installerPage.FindElement(By.Id(InstallerPage.WebInfoTab)).GetAttribute("class"), "View Website Tab is not disabled"));

			//Verify buttons are enabled/disabled
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify 'Retry' button is disabled:");
			Utilities.SoftAssert(() => StringAssert.Contains("dnnDisabledAction", installerPage.FindElement(By.Id(InstallerPage.RetryButton)).GetAttribute("class"), "Retry button is enabled"));
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify 'See Logs' button is disabled:");
			Utilities.SoftAssert(() => StringAssert.Contains("dnnDisabledAction", installerPage.FindElement(By.Id(InstallerPage.SeeLogsButton)).GetAttribute("class"), "See Logs button is enabled"));
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify 'Visit Site' button is disabled:");
			Utilities.SoftAssert(() => StringAssert.Contains("dnnDisabledAction", installerPage.FindElement(By.Id(InstallerPage.VisitSiteButton)).GetAttribute("class"), "Visit Site button is enabled"));

			#endregion

			installerPage.WaitForInstallationProcessToFinish();

			#region Layout Tests on View Website Tab
			//Tab conditions; Current Tab - View Website Tab
			Trace.WriteLine(BasePage.TraceLevelPage + "The current is View Website Tab:");
			//Verify View  page title
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify page title: '" + InstallerPage.InstallerPageTitle + "'" + " 'DotNetNuke Installation'");
			Utilities.SoftAssert(() => StringAssert.Contains(installerPage.Translate("PageTitle"), installerPage.FindElement(By.Id(InstallerPage.InstallerPageTitle)).Text,
							"The page title is missing or incorrect"));

			//Tab conditions; Current Tab - View Website Tab
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify Tabs condition on View Website Tab: ");
			Utilities.SoftAssert(() => StringAssert.Contains("disabled", installerPage.FindElement(By.Id(InstallerPage.AccountInfoTab)).GetAttribute("class"), "Account Info Tab is not disabled"));
			Utilities.SoftAssert(() => StringAssert.Contains("disabled", installerPage.FindElement(By.Id(InstallerPage.InstallInfoTab)).GetAttribute("class"), "Installation Tab is not disabled"));
			Utilities.SoftAssert(() => StringAssert.Contains("active", installerPage.FindElement(By.Id(InstallerPage.WebInfoTab)).GetAttribute("class"), "View Website Tab is not active"));

			//Verify there is no extra steps/all required steps are present
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify number of installation steps: ");
			Utilities.SoftAssert(() => Assert.AreEqual(5, installerPage.FindElements(By.XPath("//div[@id='" + InstallerPage.InstallationSteps + "']/p")).Count(), "The number of intallation steps are incorrect"));

			//Verify that installation steps are marked as "done"
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify installation steps marked as 'done': ");
			Utilities.SoftAssert(() => Assert.That("step-done", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.FileAndFolderPermissionCheck)).GetAttribute("class")),
				"Step -FileAndFolderPermissionCheck- is not marked as \"done\""));
			Utilities.SoftAssert(() => Assert.That("step-done", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.DatabaseInstallation)).GetAttribute("class")),
				"Step -DatabaseInstallation- is not marked as \"done\""));
			Utilities.SoftAssert(() => Assert.That("step-done", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.ExtensionsInstallation)).GetAttribute("class")),
				"Step -ExtensionsInstallation- is not marked as \"done\""));
			Utilities.SoftAssert(() => Assert.That("step-done", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.WebsiteCreation)).GetAttribute("class")),
				"Step -WebsiteCreation- is not marked as \"done\""));
			Utilities.SoftAssert(() => Assert.That("step-done", Is.EqualTo(installerPage.FindElement(By.Id(InstallerPage.SuperUserCreation)).GetAttribute("class")),
				"Step -SuperUserCreation- is not marked as \"done\""));

			//Verify buttons are enabled/disabled
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify 'Retry' button is disabled:");
			Utilities.SoftAssert(() => StringAssert.Contains("dnnDisabledAction", installerPage.FindElement(By.Id(InstallerPage.RetryButton)).GetAttribute("class"), "Retry button is enabled"));
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify 'See Logs' button is enabled:");
			Utilities.SoftAssert(() => StringAssert.DoesNotContain("dnnDisabledAction", installerPage.FindElement(By.Id(InstallerPage.SeeLogsButton)).GetAttribute("class"), "See Logs button is disabled"));
			Trace.WriteLine(BasePage.TraceLevelPage + "Verify 'Visit Site' button is enabled:");
			Utilities.SoftAssert(() => StringAssert.DoesNotContain("dnnDisabledAction", installerPage.FindElement(By.Id(InstallerPage.VisitSiteButton)).GetAttribute("class"), "Visit Site button is disabled"));

			#endregion
		}
		public void CreateChildSiteAndPrepareSettings(string childSiteName)
		{
			//create a child site
			HostSiteManagementPage hostSiteMgmtPage = new HostSiteManagementPage(_driver);
			hostSiteMgmtPage.OpenUsingButtons(_baseUrl);
			hostSiteMgmtPage.AddNewChildSite(_baseUrl, childSiteName, "Child Site");

			//navigate to child site
			hostSiteMgmtPage.OpenUsingButtons(_baseUrl);
			hostSiteMgmtPage.NavigateToChildSite(_baseUrl, childSiteName);

			//close welcome screen on child site
			var installerPage = new InstallerPage(_driver);
			installerPage.WelcomeScreen();

			//disable popups on child site
			var adminSiteSettingsPage = new AdminSiteSettingsPage(_driver);
			adminSiteSettingsPage.OpenUsingButtons(_baseUrl);
			adminSiteSettingsPage.DisablePopups();
		}
Beispiel #8
0
		public void Test003_NavigateToChildSite()
		{
			Trace.WriteLine(BasePage.RunningTestKeyWord + "'Navigate to Child Site'");

			var hostSiteManagementPage = new HostSiteManagementPage(_driver);

			hostSiteManagementPage.OpenUsingButtons(_baseUrl);

			hostSiteManagementPage.NavigateToChildSite(_baseUrl, _siteAlias);

			var installerPage = new InstallerPage(_driver);

			installerPage.WelcomeScreen();

			Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT current window Title");
			Assert.That(installerPage.CurrentWindowTitle(), Is.StringContaining(_siteName + " > Home"),
			            "The website name is not correct");

			Trace.WriteLine(BasePage.TraceLevelPage + "ASSERT current window Url");
			Assert.That(installerPage.CurrentWindowUrl(), Is.EqualTo("http://" + _baseUrl + "/" + _siteAlias),
			            "The website URL is not correct");
		}
Beispiel #9
0
		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();

			var installerPage = new InstallerPage(driver);
			installerPage.WelcomeScreen();

			LoginPage loginPage = new LoginPage(driver);

			loginPage.WaitForElement(By.XPath(ControlPanelIDs.LoginLink), 20).WaitTillVisible(20).Click();

			loginPage.WaitAndSwitchToFrame(30);

			loginPage.DoLoginUsingLoginLink(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");
		}