Návod ke spuštění:

Úvod

Vzhledem k rozlehlosti celého systému jsem vytvořil tento návod v případě
problému se spuštěním testů, serveru, popřípadě jiných částí.
Pro spuštění testů je potřeba Windows 7 a vyšší.

------------------
Spuštění testů 
------------------
1) Je potřeba umístit složku "UiTestEntry" (nacházející se v hlavním zipu) a složku "UiTestResult" na disk c:\  (všechny interní cesty míří právě sem)
     (přímo, na disk C, ne do žádné podsložky) => C:\UITestEntry, C:\UITestResult

Ve složce UiTestEntry si můžeme podívat do složky Result, kde je předgenerovaný výstupní HTML a XML soubor. Zároveň se zde nachází
Inspect.exe a VisualUIVerify, pomocí kterých můžeme zobrazit strom elementů a vytvořit další testy.
V UiTestBin se nachízí vybuildované řešení se všema testama, knihovnama atd...
V php složce se nachází soubor server, ve kterém je pro tuto práci vytvořený lokální server.
Nás však zajímá .cmd soubor TestStart.cmd, kde je spouštěcí příkaz.

2) Ve složce UITestEntry spustíme .cmd soubor TestStart => mělo by započít provádění testů, testy by měly projít bez chyby,
     na konci se však objeví jedna chyba kvůli emailu, která bude vysvětlena níže spolu s řešením, jak se ji zbavit, v tuto chvíli ji ingorujeme a zavřeme konzoli

V případě kroku 2 se může objevit následující chyba:
	- Jedna ze složek (UITestResult, UITestEntry) není na správném místě, viz krok 1
	- V případě, že nelze složku přesunou na disk C (disk C není k dispozici kvůli odlišně pojmenovaným diskům), v souboru TestStart.cmd změníme všechny cesty 
	  z C na požadované
	- Nyní by testy měly spustit, pravděpodobně nějaké selžou, v tomto případě je potřeba otevřít celý projekt a v knihovně UITests/PathProvider.cs změnit požadované cesty, 
	  tedy hlavně disky atd.
	- Poté řešení vybuildujeme do složky UITestEntry\UITestBin a opakujeme celý proces
	
--------------------------------------
Email a problémy s ním spojené
--------------------------------------

Proces spouštění testu by měl být zakončen zasláním mailu příslušné osobě. Kvůli bezpečnosti mají mnohé emaily zablokované automatické zasílání mailu.
V závislosti na Mailu, který používáte, je nutné povolit následující: "Přístup méně zabezpečených aplikací".
Druhým krokem je autentizace. V souboru TestStart.cmd se nachází MailPath (např. smtp.gmail.com), MailFrom (xxx@yyy.cz), Password.
Po vyplnění údajů a odblokování zabezpečení je možné spustit testy. Ty na konci zašlou požadovaný email.
Po dokončení je vhodné všechny kroky vrátit zpátky, hlavně odstranení hesla a jména z dokumentu.

Pokud nechcete provádět následující kroky, ve složce UITestEntry\Result je výsledek, který bude identicky vypadat v mailu. 

------------------------------------
Spuštění serveru a práce s ním
------------------------------------

Cílem bylo udělat jednoduchý lokální server, který bude spustitelný kdekoliv.
Proto se v UITestEntry nachází složka php a v ní složka server s naším serverem. 

1) Otevřeme si konzoli jako administrátor
2) Přejdeme do C:\UITestEntry\php
3) Spustíme příkaz php -S localhost:8000 

Zmíněný příkaz nám vytvoří lokální php server pomocí zabudované funkcionality přímo v php.

4) Nyní můžeme otevřít v našem prohlížeci běžící server: http://localhost:8000/
5) Pokud server běží korektně, tak přistoupíme přímo k našemu server: http://localhost:8000/server/index.php

Zde už máme volnou roku. 
Do "Zvolte cestu" zadáme cestu k našemu TestStart.cmd
Poté klikneme na Manual Start, popřípadě nastavíme čas a Periodic start.
Na ukázku doporučuji pouze Manual Start.

-------------------------------------------
Přidávání nových TC a další operace
-------------------------------------------

Testy fungují, jdou spouštět, jak si však vytvořit svoje ?
Postup je velmi jednoduchý.

1) Projekt s názvem UITestHandler vložíme na disk (kamkoliv)
2) Otevřeme projekt a pokusíme se ho celý vybuildovat
3) Pokud se nezobrazí chyba, v levé části obrazovky v oknu "Test explorer" (pokud chybý => Menu -> Test -> Windows -> Test Explorer)
     klikneme pravým na UITests (15) a zvolíme Run selected tests -> Testy by se měly spustit a projít bez chyby (nebo alespoň spustit a pár jich projít)
4) Nyní když víme, že vše funguje korektně, přesuneme se do solution exploreru a v knihovně UITests vytvoříme svoji třídu pro testy
5) Zkopírujeme obsah třídy TS_001_MenuItems.cs do naší třídy (abychom nemuseli ručně importovat všechny potřebné věci atd...)
6) Smažeme zkopírované testy a podle předlohy si mužeme vytvořit svoje, které poté spuštíme klasicky, bud krokem 3, nebo řešení vybuildujeme a spustíem .cmd soubor


     


