public void SpecifyingBrowserCompatibilityModeForIe() { // Arrange const string webSiteName = "TestEasyWebSite"; // create Virtual Application and deploy files WebServer server = WebServer.Create(); WebApplicationInfo appInfo = server.CreateWebApplication(webSiteName); server.DeployWebApplication(appInfo.Name, new List <DeploymentItem> { new DeploymentItem { Type = DeploymentItemType.Directory, Path = webSiteName } }); server.SetCustomHeaders( Path.Combine(appInfo.PhysicalPath, "web.config"), new Dictionary <string, string> { { "X-UA-Compatible", " IE=8" } }); // create browser object using config settings using (var browserManager = new BrowserManager()) { var browser = browserManager.CreateBrowser(BrowserType.Ie, false); // Act browser.Navigate().GoToUrl(appInfo.VirtualPath + "/default.html"); // Assert Assert.AreEqual("[This is my label]", browser.FindElement(By.Id("myLabel")).Text); } }
public void SetupWebsite() { // common logic to arrange the test website _server = WebServer.Create(); _appInfo = _server.CreateWebApplication("TestEasyWAP"); _server.DeployWebApplication(_appInfo.Name, new List <DeploymentItem> { new DeploymentItem { Type = DeploymentItemType.Directory, Path = WebSiteName } }); }
public void MultipleBrowsersTest() { // Arrange const string webSiteName = "TestEasyWAP"; // Create server object WebServerSettings settings = new WebServerSettings { HostName = Environment.MachineName, // machine anme or empty (in this case localhost will be used) RootPhysicalPath = TestEasyHelpers.Tools.GetUniqueTempPath(webSiteName) // needed only when web server type is IISExpress }; WebServer server = WebServer.Create("IISExpress", settings); WebApplicationInfo appInfo = server.CreateWebApplication(webSiteName); server.DeployWebApplication(appInfo.Name, new List <DeploymentItem> { new DeploymentItem { Type = DeploymentItemType.Directory, Path = webSiteName } }); server.BuildWebApplication(webSiteName); // create browser object using (BrowserManager browserManager = new BrowserManager()) { List <IWebDriver> myBrowsers = new List <IWebDriver> { browserManager.CreateBrowser(remote: false), browserManager.CreateBrowser(remote: false), browserManager.CreateBrowser(remote: false) }; foreach (var browser in myBrowsers) { // Act browser.Navigate().GoToUrl(appInfo.VirtualPath + "/SamplePostWebForm.aspx"); browser.FindElement(By.Id("Button1")).Click(); browser.WaitForPageLoaded(); // Assert Assert.AreEqual("[Clicked!]", browser.FindElement(By.Id("TextBox1")).GetAttribute("value")); } } }
private void CreateWebServer(string deployPath, string connectionString) { const int MaxRetries = 3; int attempt = 0; while (true) { try { _webServer = WebServer.Create("iisexpress"); _webApplicationInfo = _webServer.CreateWebApplication(ApplicationName); _webServer.DeployWebApplication(_webApplicationInfo.Name, new List <DeploymentItem> { new DeploymentItem { Type = DeploymentItemType.Directory, Path = deployPath } }); _webConfigFilePath = Path.Combine(_webServer.RootPhysicalPath, ApplicationName, "web.config"); SetStorageConnectionString(connectionString); _virtualPath = _webApplicationInfo.VirtualPath; return; } catch { if (attempt++ < MaxRetries) { // Swallow any startup errors and retry after a short // period // We're seeing some File IO issues from TestEasy that look // like timing issues Thread.Sleep(2000); } else { // We're unable to create the server even after retries throw; } } } }
public void CustomServerAndBrowserUsingConfigTest() { // Arrange const string webSiteName = "TestEasyWAP"; // Create server using Config settings WebServerSettings settings = new WebServerSettings { HostName = TestEasyConfig.Instance.Client.Remote ? Environment.MachineName : "", RootPhysicalPath = (TestEasyConfig.Instance.WebServer.Type.Equals("IISExpress", StringComparison.InvariantCultureIgnoreCase)) ? TestEasyHelpers.Tools.GetUniqueTempPath(webSiteName) : "" }; WebServer server = WebServer.Create(TestEasyConfig.Instance.WebServer.Type, settings); WebApplicationInfo appInfo = server.CreateWebApplication(webSiteName); server.DeployWebApplication(appInfo.Name, new List <DeploymentItem> { new DeploymentItem { Type = DeploymentItemType.Directory, Path = webSiteName } }); server.BuildWebApplication(webSiteName); // create browser object using config settings using (var browserManager = new BrowserManager()) { var browser = browserManager.CreateBrowser(); // Act browser.Navigate().GoToUrl(appInfo.VirtualPath + "/SamplePostWebForm.aspx"); browser.FindElement(By.XPath("//input[@name='Button1']")).Click(); browser.WaitForPageLoaded(); // Assert Assert.AreEqual("[Clicked!]", browser.FindElement(By.Id("TextBox1")).GetAttribute("value")); } }