Selenium w C# 5. Zamykanie sesji i okna przeglądarki

W tej lekcji omówimy zamykanie sesji i okna przeglądarki, bo wbrew pozorom, to nie jest to samo.

 

Zamykanie sesji i okna przeglądarki: linki i materiały

Metody zamykające sesję i okna przeglądarki

Metody, o których jest mowa w tej lekcji to:

  • Close() – ta metoda zamyka bieżące okno przeglądarki (w tym kontekście okno i zakładka są traktowane tak samo, więc oznacza to również zamknięcie bieżącej zakładki); ta metoda nie zamyka sesji;
  • Quit() – ta metoda zamyka sesję; oznacza to również, że chromedriver.exe (albo inny driver, jeżeli nie używamy Chrome’a) znika nam z procesów.

Dokumentacja Selenium: linki

Sygnatury wszystkich wyjaśnionych dzisiaj metod znajdują z w interfejsie IWebDriver. Ponieważ to interfejs, nie zobaczysz tam implementacji tych metod. Interfejs to raczej coś w rodzaju kontraktu czy umowy mówiącej o tym jakie metody ma implementować każda klasa implementująca ten interfejs. Interfejs ten jest zaimplementowany przez klasę RemoteWebDriver – jak wygląda ta klasa i omówione metody możesz podejrzeć tutaj.

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
namespace TestowyProjekt.DriverMethods
{
    class QuitAndClose
    {
        IWebDriver driver;
        [SetUp]
        public void Setup()
        {
            driver = new ChromeDriver();
            driver.Manage().Window.Position = new System.Drawing.Point(8, 30);
            driver.Manage().Window.Size = new System.Drawing.Size(1290, 730);
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(5);
        }
        [Test]
        public void gotToGoogleTest()
        {
            driver.Navigate().GoToUrl("https://google.pl");
        }
        [TearDown]
        public void TearDown()
        {
            //driver.Close();
            driver.Quit();
        }
    }
}

Możliwość komentowania została wyłączona.