Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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
                }
            });
        }
Esempio n. 3
0
        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"));
                }
            }
        }
Esempio n. 4
0
        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;
                    }
                }
            }
        }
Esempio n. 5
0
        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"));
            }
        }