using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections;
using System.IO;
using System.Text;
namespace Prevu
{
[TestClass]
public class Pages : BaseTest
{
#region Initialization & CleanUp
[ClassInitialize]
public static void ClassInitialize(TestContext TestContext)
{
BaseTest.ClassInitialize(TestContext);
}
[ClassCleanup]
public static void ClassCleanup()
{
BaseTest.ClassCleanup();
}
#endregion Initialization & CleanUp
#region Helpers
private string GetPageTitle(string pageSource, string startAfter, string finishBefore)
{
string title = "";
int indexT = pageSource.IndexOf(startAfter);
if (indexT > -1)
{
indexT += startAfter.Length;
title = pageSource.Substring(indexT, pageSource.IndexOf(finishBefore, indexT) - indexT);
}
return title;
}
/*[TestMethod, TestCategory("Pages"), Timeout(testTimeout * 600)]
[TestProperty("Generate Input Data File", "Site pages URL list generation")]
public void GeneratePageURLList()
{
const bool loggedIn = true;
string signIn = "";
Hashtable aURLs = new Hashtable();
StringBuilder verificationErrors = new StringBuilder();
if (loggedIn)
{
signIn = "True";
loginPage.SignInAdmin();
} else
{
loginPage.OpenLogin();
}
ArrayList urlList = new ArrayList();
string pageSource = driver.Driver.PageSource;
int index = 0;
while (pageSource.IndexOf("href=\"", index) > -1)
{
int start = pageSource.IndexOf("href=\"", index) + 6;
int finish = pageSource.IndexOf("\"", start);
string url = pageSource.Substring(start, finish - start);
if ((url.IndexOf(".axd") < 0) && (url.IndexOf(".css") < 0)
&& (url.IndexOf(".com") < 0) && (url.IndexOf(".ico") < 0)
&& (url.IndexOf(".png") < 0) && (url.IndexOf("javascript") < 0))
{
string aURL = url;
if (aURL[0] == '/')
{
aURL = aURL.Substring(1, aURL.Length - 1);
}
if ((!aURLs.Contains(aURL)) && (aURL != "Home/ExportToPDF"))
{
aURLs.Add(aURL, aURL);
urlList.Add(aURL);
}
}
index = finish;
}
StreamWriter streamWriter = new StreamWriter(@"..\..\PageList.txt", false, Encoding.Unicode);
try
{
streamWriter.WriteLine("");
streamWriter.WriteLine("
2. Check the page opening")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", @"|DataDirectory|\Files\Pages.xml", "Page", DataAccessMethod.Sequential)]
public void ValidatePage()
{
string resultMessage = "";
string inURL = Convert.ToString(TestContext.DataRow["URL"]);
string inTitle = Convert.ToString(TestContext.DataRow["Title"]);
string inSignIn = Convert.ToString(TestContext.DataRow["SignIn"]);
if (!string.IsNullOrEmpty(inSignIn))
{
Assert.IsTrue(loginPage.SignInAdmin());
} else {
Assert.IsTrue(loginPage.OpenLogin());
}
bool testPassed = false;
string address = driver.Domain;
if (!string.IsNullOrEmpty(inURL))
{
address = string.Format("{0}{1}", address, inURL);
}
driver.Driver.Navigate().GoToUrl(address);
driver.WaitAjax(100, 1000);
driver.WaitAjax(100, 1500);
string pageTitle = GetPageTitle(driver.Driver.PageSource, "