Selenium WebDriver - Testy Automatyczne

0

Witam ,
Otóż mam taki problem z Selenium Webdriver.
Zaczynam pisać testy w tej technologi wykorzystując wzorzec Page Object Pattern.

**I moje problemy są następujące: **

  1. Nie mam możliwości wyświetlania i zapisywania logów - nie wiem czy potrzebny jakiś dodatkowy Framework?

  2. Czy posiada ktoś może jakiś przykładowy szablon podziału na klasy aplikacji np. w jednej klasie sa dane konfiguracji ( Przeglądarka , adres www ) , w drugiej dane do logowania (login , password)

  3. Jak uruchomię test to otwierają mi się 2 (albo 3) okna przeglądarki - zalogowanie przebiega poprawnie ale już przejście do modułu raporty to się wysypuje

Wcześniej tworzyłem w narzędziu Sahi dla aplikacji napisanej w PHP i tam działało wszytko prawidłowo , a aktualnie automatyzuje Aplikacje napisana w ASP.NET i Sahi nie działa - wiec wybrałem na Selenium WebDriver i

Tak mam podzielone KOD;
##** Program Uruchomieniowy**

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using test.Konfiguracja.Konfiguracje;
using test.PageObject.Logowanie; 
using test.PageObject.Raporty;
namespace test
{
   
    class Program:ClassUstawienia
    {        
       
        static void Main(string[] args)
        {
            ClassUstawienia Otworz = new ClassUstawienia();
            ClassLogowanie Zaloguj = new ClassLogowanie();
            ClassRaporty Raporty = new ClassRaporty();
                                            
            Zaloguj.Logowanie("[email protected]", "1234556"); //logowanie do strony
            Raporty.Raporty();         //uruchomienie karty Raporty
        }    
 
    }
}

##** Klasa z Konfiguracjami**

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.IO;
using OpenQA.Selenium;
using OpenQA.Selenium.Support;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;


namespace test.Konfiguracja.Konfiguracje
{
  
   public class ClassUstawienia
    {
        public IWebDriver driver = new ChromeDriver();
        public StringBuilder verificationErrors;
        public string baseURL = "wp.pl";                    
    }    
}

##**PageObject Logowanie **

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.IO;
using OpenQA.Selenium;
using OpenQA.Selenium.Support;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;

using test.Konfiguracja.Konfiguracje;

namespace test.PageObject.Logowanie    
{
    class ClassLogowanie:ClassUstawienia
    {            
        public void Logowanie(string Login, string Password)
        {
            driver.Navigate().GoToUrl(baseURL);
            // Znajdz elemanty na stronie 
            var TextAreaLogin = driver.FindElement(By.Id("Email"));
            var TextAreaPassword = driver.FindElement(By.Id("Password"));
            var ButtonZaloguj = driver.FindElement(By.XPath("//button[@type='submit']"));
           
            // Login i Haslo do konta
            TextAreaLogin.SendKeys(Login);
            TextAreaPassword.SendKeys(Password);

            // i kliknij Zaloguj
            ButtonZaloguj.Click();        
        }
        
        
    }   
}

##**PageObject z Raportami **


 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.IO;
using OpenQA.Selenium;
using OpenQA.Selenium.Support;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;

using test.Konfiguracja.Konfiguracje;

namespace test.PageObject.Raporty
{
    class ClassRaporty : ClassUstawienia
    {
        public void Raporty()
        {
            var MenuRaporty = driver.FindElement(By.XPath("//p[contains(.,'Raporty')]"));
            var PodMenu1 = driver.FindElement(By.XPath("//a[contains(.,'Raport skuteczności kancelarii')]"));
            var PodMenu2 = driver.FindElement(By.XPath("//a[contains(.,'Utwórz raporty - stare')]"));
            var PodMenu3 = driver.FindElement(By.XPath("//a[@href='/CreditorOffice/ReportW1']"));
            var PodMenu4 = driver.FindElement(By.XPath("//a[contains(.,'Pobierz pliki raportów')]"));
            MenuRaporty.Click();
            PodMenu1.Click();
            PodMenu2.Click();
            PodMenu3.Click();
            PodMenu4.Click();
        }
    }
}

Każda uwaga z waszej strony będzie bardzo przydatna = Dziękuję

Dane podane są losowe

0

Ściągnij sobie NUnit i przez niego odpalaj testy

0

dobra ,
Też robiłem przez NUnit , tylko jak wygląda uruchomienie testów inaczej niż przez Visual Studio.
Bo nie chcę aby, odpalić test i otrzymać wynik za każdym razem uruchamiać Visual Studio.
W sahi był localhost.logs i można było sprawdzać na bieżąco .

0

Jak pobierzesz sobie paczke ze strony NUnit to bedziesz miał w środku program nunit.exe, który umożliwia puszczanie testów. Pokazuje też status wykonania i podsumowanie:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1