Selenium with C# 43 - How to switch between multiple windows and difference between close and quit

Ankpro Training
Ankpro Training
13.1 هزار بار بازدید - 6 سال پیش - How to switch between multiple
How to switch between multiple windows and difference between close and quit. Like our facebook page : www.facebook.com/ankprotraining How to Switch between multiple windows? Multiple Window Handles -   When we have multiple windows in test automation, all we need to do is switching the focus from one window to another. Usage: driver.SwitchTo().Window(driver.WindowHandles[1]) How To Get the Current Window Id? CurrentWindowHandle: Gets the current window handle, which is an opaque handle to this window that uniquely identifies it within this driver instance. Difference between driver.Quit() And driver.Close() driver.Close()-This method is used to close the current open window. It closes the current open window on which driver has focus on. driver.Quit()-This method is used to destroy the instance of WebDriver. It closes all Browser Windows associated with that driver and safely ends the session. Possible Interview Questions on switching between windows in selenium webdriver : How to handle multiple windows in selenium webdriver? What is current window handle? What is window handles? What is the difference between driver.Quit() And driver.Close() Code : [TestMethod] public void WindowHandlesDemo1() { IWebDriver driver = new FirefoxDriver(); driver.Url = "uitestpractice.com/Students/Switchto"; #region One Console.WriteLine("Before click"); Console.WriteLine("Number of windows opened by selenium : " + driver.WindowHandles.Count); foreach (var item in driver.WindowHandles) { Console.WriteLine(item); } Console.WriteLine("Current window handle : " + driver.CurrentWindowHandle); #endregion #region Two driver.FindElement(By.LinkText("Opens in a new window")).Click(); Console.WriteLine("After click"); Thread.Sleep(2000); Console.WriteLine("Number of windows opened by selenium : " + driver.WindowHandles.Count); foreach (var item in driver.WindowHandles) { Console.WriteLine(item); } // I'm switching a newly opened window and trying get an element from that window driver.SwitchTo().Window(driver.WindowHandles[1]); Console.WriteLine(driver.FindElement(By.Id("draggable")).Text); Console.WriteLine("Current window handle : " + driver.CurrentWindowHandle); #endregion #region Third // I want to close the newly opened window Console.WriteLine("After close"); driver.Close(); Console.WriteLine("Number of windows opened by selenium : " + driver.WindowHandles.Count); foreach (var item in driver.WindowHandles) { Console.WriteLine(item); } Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles[0]); Console.WriteLine("Current window handle : " + driver.CurrentWindowHandle); #endregion Thread.Sleep(1000); driver.Quit(); }
6 سال پیش در تاریخ 1397/05/01 منتشر شده است.
13,187 بـار بازدید شده
... بیشتر