public void Quit()
 {
     driver.Close();
     driver.Quit();
     driver.Dispose();
     driver = null;
 }
示例#2
0
        public void NewWindows()
        {
            // зайти в админку
            Login();

            // открыть пункт меню Countries(или страницу http://localhost/litecart/admin/?app=countries&doc=countries)
            driver.Url = "http://localhost/litecart/admin/?app=countries&doc=countries";

            // открыть на редактирование какую-нибудь страну или начать создание новой
            driver.FindElement(By.LinkText("Add New Country")).Click();
            string countriesWindow = driver.CurrentWindowHandle;

            IList <string> handles = driver.WindowHandles;

            /* возле некоторых полей есть ссылки с иконкой в виде квадратика со стрелкой --
             * они ведут на внешние страницы и открываются в новом окне, именно это и нужно проверить.
             * Конечно, можно просто убедиться в том, что у ссылки есть атрибут target = "_blank".
             */

            ReadOnlyCollection <IWebElement> externalLinks = driver.FindElements(By.CssSelector(".fa-external-link"));

            // повторить эти действия для всех таких ссылок.
            for (int i = 0; i < externalLinks.Count; i++)
            {
                IWebElement externalLink = externalLinks[i];

                // Но в этом упражнении требуется именно кликнуть по ссылке, чтобы она открылась в новом окне,
                externalLink.Click();

                // новое окно открывается не мгновенно, поэтому требуется ожидание открытия окна.
                Func <IWebDriver, string> ThereIsWindowOtherThan = new Func <IWebDriver, string>((IWebDriver Web) =>
                {
                    IList <string> curHandles = driver.WindowHandles.ToList();
                    for (int j = 0; j < handles.Count; j++)
                    {
                        curHandles.Remove(handles[j]);
                    }
                    if (curHandles.Count != 0)
                    {
                        return(curHandles[0]);
                    }
                    return(null);
                });

                WebDriverWait wait           = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
                string        externalWindow = wait.Until(ThereIsWindowOtherThan);

                // потом переключиться в новое окно,
                driver.SwitchTo().Window(externalWindow);

                //закрыть его,
                driver.Close();

                //вернуться обратно
                driver.SwitchTo().Window(countriesWindow);
            }
        }
示例#3
0
        public void SomeTestMethod1InListeners()
        {
            webDriver = new ChromeDriver();
            EventFiringWebDriver driver = new EventFiringWebDriver(webDriver);

            //driver.ElementClicked += new EventHandler<WebElementEventArgs>(firingDriver_ElementClicked);

            driver.Manage().Window.Maximize();
            driver.Manage().Cookies.DeleteAllCookies();
            driver.Url = "http://executeautomation.com/demosite/index.html?UserName=fdgf&Password=dfgdfg&Login=Login";
            driver.FindElement(By.Name("UserName")).SendKeys("Rupesh");
            driver.Close();
            driver.Quit();
        }
 public void Quit()
 {
     if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Failed)
     {
         var fileName = TestContext.CurrentContext.TestDirectory + "\\" +
                        DateTime.Now.ToString("yy-MM-dd-HH-mm-ss-FFF") + "-" + GetType().Name + "-" +
                        TestContext.CurrentContext.Test.FullName + "." + ScreenshotImageFormat.Jpeg;
         try
         {
             ((ITakesScreenshot)driver).GetScreenshot().SaveAsFile(fileName, ScreenshotImageFormat.Jpeg);
             TestContext.AddTestAttachment(fileName);
         }
         catch (Exception e)
         {
             Console.WriteLine(e);
         }
     }
     driver.Close();
     driver.Quit();
     driver.Dispose();
     driver = null;
 }