下面是TestLibrary的完整源代码:
public class TestLibrary { public UserHelper UserHelper { get; private set; }
public BlogHelper BlogHelper { get; private set; }
public CommentHelper CommentHelper { get; private set; }
public Blog DefaultBlog { get; private set; }
public Post DefaultPost { get; private set; }
public ISelenium Selenium { get; private set; }
public string SiteUrl { get; private set; }
public class Consts { public const string TimeToWaitForPageToLoad = "30000";
public const string AdminUserName = "administrator";
public const string ContributorUser = "Contributor1";
public const string AuthorUser = "Author1";
public const string ModeratorUser = "Moderator1";
public const string EditorUser = "Editor1";
public const string CommonPassword = "0123456";
public const string AdminPassword = "0123456";
public const string DefaultSeleniumHost = "localhost";
public const int DefaultSeleniumPort = 4444;
public const string DefaultBrowser = "*firefox";
public const string DefaultSite = "http://localhost:30320"; }
public TestLibrary(ISelenium selenium) { this.UserHelper = new UserHelper(this); this.BlogHelper = new BlogHelper(this); this.CommentHelper = new CommentHelper(this); Selenium = selenium;
InitialDefaultSiteDate(); }
private void InitialDefaultSiteDate() { DefaultBlog = new Blog(this, "Default Test Blog", "default-test-blog", "Default Test Blog", Consts.AdminUserName); DefaultPost = new Post(this, new PostSettings() { Title = "Default Test Post", Permalink = "default-test-post", Body = "This is for web site testing purpose.", Tags = "Test", PublishSetting = PostSettings.PublishSettings.PublishNow }, DefaultBlog); }
public static TestLibrary SetupTest(TestContext testContext) { if (testContext != null && testContext.DataRow != null && testContext.DataRow.Table.Columns.Contains("seleniumHost")) { return SetupTest(testContext.DataRow["seleniumHost"].ToString(), Int32.Parse(testContext.DataRow["seleniumPort"].ToString()), testContext.DataRow["browser"].ToString(), testContext.DataRow["site"].ToString()); } else { return SetupTest(Consts.DefaultSeleniumHost, Consts.DefaultSeleniumPort, Consts.DefaultBrowser, Consts. DefaultSite); } }
public static TestLibrary SetupTest(string seleniumHost, int seleniumPort, string browser, string site) { var selenium = new DefaultSelenium( seleniumHost, seleniumPort, browser, site); selenium.Start();
return new TestLibrary(selenium) { SiteUrl = site }; }
public void Shutdown() { try { Selenium.Stop(); } catch (Exception) { // Ignore errors if unable to close the browser } } } |