Zapisy otwarte! Dołącz do kursu Selenium w Javie lub Selenium w C#. Tylko do 23.09.2021 do godz. 21:00. Zapisz się tutaj.

Selenium w C# 6. Zadanie: zamykanie sesji i okna przeglądarki oraz nawigacja

Poćwiczymy metody, które przerobiliśmy dotychczas w kursie. Czas na zadanie: zamykanie sesji i okna przeglądarki oraz nawigacja

Zadanie

Na początku filmu tłumaczę polecenie, a następnie rozwiązanie. Będzie moment, żeby zatrzymać film na czas wykonania zadania – dam znać w filmie kiedy.

Podpowiedź: timeout

Jeżeli w Twoim rozwiązaniu poleci jakiś timeout (zobaczysz taki błąd w konsoli, a test nie przejdzie i wyświetli się w Test Runnerze na czerwono) dodaj poniższą linijkę do metody [SetUp]:

driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(5);

Ta linijka ustawi timeout na załadowanie strony na 5 sekund (możesz zmienić piatkę na wyższą wartość, jeżeli nie wystarczy). Może się przydać przy wolniejszym internecie.

 

Zadanie: zamykanie sesji i okna przeglądarki oraz nawigacja

Polecenie

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Rozwiązanie

Lepiej nie podglądać przed rozwiązaniem zadania ⚠️

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Wsparcie merytoryczne

Nie masz dostępu do wsparcia merytorycznego dla tego kursu. Wykup dostęp albo zaloguj się, by móc zadawać pytania.

  1. Oba testy mam moim zdaniem napisane dobrze, ale dostaje taki błąd:

    Exception, który wyświetlił mi się po zdebbugowaniu: OpenQA.Selenium.WebDriverTimeoutException: 'timeout
    (Session info: chrome=78.0.3904.97)'

    Result Message:
    OpenQA.Selenium.WebDriverTimeoutException : timeout
    (Session info: chrome=78.0.3904.97)

    to jest mój kod:

    using NUnit.Framework;
    using OpenQA.Selenium;
    using OpenQA.Selenium.Chrome;
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace TestowyProjekt.DriverMethods
    {
    class Task1
    {
    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 = System.TimeSpan.FromSeconds(5);
    driver.Manage().Timeouts().PageLoad = System.TimeSpan.FromSeconds(5);
    }

    [Test]
    public void Task()
    {
    string wikiUrl = "https://pl.wikipedia.org/wiki/Wikipedia:Strona_g%C5%82%C3%B3wna";
    string nasaUrl = "https://www.nasa.gov/";
    driver.Navigate().GoToUrl(wikiUrl);
    driver.Navigate().GoToUrl(nasaUrl);
    driver.Navigate().Back();
    string expectedUrl = "https://pl.wikipedia.org/wiki/Wikipedia:Strona_g%C5%82%C3%B3wna";
    Assert.AreEqual(expectedUrl, driver.Url, "Url is not the same");
    }

    [Test]
    public void Task2()
    {
    string wikiUrl = "https://pl.wikipedia.org/wiki/Wikipedia:Strona_g%C5%82%C3%B3wna";
    string nasaUrl = "https://www.nasa.gov/";
    driver.Navigate().GoToUrl(wikiUrl);
    driver.Navigate().GoToUrl(nasaUrl);
    driver.Navigate().Back();
    driver.Navigate().Forward();
    string expectedUrl1 = "https://www.nasa.gov/";
    Assert.AreEqual(expectedUrl1, driver.Url, "Url is not the same");
    }

    [TearDown]

    public void CloseChromeAndSession()
    {
    driver.Close();
    driver.Quit();
    }
    }
    }

    Odpowiedz
  2. Tak przeglądarka się otwiera. W obu leci ten błąd. Co ciekawe przy innych lekcjach ten błąd też mi się pojawiał, ale jak odpaliłam jeszcze raz - bez zmieniania czegokolwiek to test przeszedł z sukcesem.

    Odpowiedz