Testing

How to: Czyli framework White dla aplikacji desktopowych – część 1

Listopad 27, 2015 1
Podziel się:

White jest open source’owym frameworkiem napisanym w C# wspierającym klientów aplikacji wykorzystujących Win32, WinForm, WPF and SWT (Java). Bazuje na .NET oraz zapewnia spójne API ukrywające złożoność biblioteki Microsoftu ¬ UI Automation. W dzisiejszym artykule wykorzystamy White do napisania prostego testu systemowego kalkulatora.
Na początku musimy dodać do projektu odpowiednie referencje. Bez nich nie będziemy mogli skorzystać z oferowanych przez White funkcji i właściwości. Pobieramy TestStack.White ze strony https://github.com/TestStack/White . Dodatkowo, aby skorzystać ze wszystkich właściwości .NETu dodamy bibliotekę Castle.Core dostępną na stronie http://www.castleproject.org/download/ . Po ściągnięciu odpowiednich .dll trzeba dodać je do ścieżki C:\Users\użytkownik\ścieżka do projektu na dysku\nazwa projektu\bin\Debug\. Kiedy oba pliki są tam skopiowane należy dodać do nich referencję w Visual Studio. W tym celu klikamy prawym przyciskiem na References i wybieramy Add References… . Przechodzimy do zakładki Browse, klikamy przycisk Browse i wskazujemy lokalizację bibliotek. Dodatkowo należy dodać jeszcze dwa frameworki z zakładki Assemblies: UIAutomation Types (jeśli chcemy rozpoznawać kontrolki po ich typie) oraz System.Configuration ( ponieważ będziemy korzystać z pliku konfiguracyjnego). Ostatnimi referencjami będą rozszerzenia z zakładki Extensions : EnvDTE, EnvDTE100, EnvDTE80, EnvDTE90, EnvDTE90a. Są to dodatki zawierające obiekty i elementy niezbędne dla Automation Core.

Kiedy wszystkie niezbędne referencje zostaną dodane do projektu, należy stworzyć plik konfiguracyjny, w którym zamieszczone zostaną klucze i wartości parametrów testu. Klikamy prawą myszą na nazwę projektu, wybieramy Add, a następnie New Item… . Z okienka wybieramy pozycję Application Configuration File. Nie zmieniamy nazwy pliku – pierwszy plik konfiguracyjny musi nosić nazwę App.config. Otwieramy go i dodajemy sekcję<appSettings> . W niej umieszczamy klucze i wartości dla naszego testu. Przykład poniżej:

Rys.1. Plik konfiguracyjny

Rys.1. Plik konfiguracyjny

TESTBASE

Kolejnym krokiem będzie stworzenie klasy bazowej, odpowiedzialnej za uruchamianie i zamykanie aplikacji przed i po każdym teście. W tym celu dodajemy nową klasę i nazywamy ją dowolnie, np. TestBase.cs. Czynimy klasę publiczną oraz dodajemy przed nią adnotację [TestClass] (linia 27). Tworzymy prywatne zmienne, które wykorzystamy w metodach inicjalizujących i czyszczących. Tworzymy metodę Initialize() i dodajemy przed nią adnotację [TestInitialize] (linia 42). Na początku funkcji pobieramy z pliku konfiguracyjnego ścieżkę do aplikacji i nazwę okna głównego i przypisujemy do zmiennych globalnych. Uruchamiamy aplikację poleceniem Launch() (linia 49). Następnie pobieramy listę okien uruchomionych programów i wyszukujemy nasz Kalkulator. Jeśli okno nie istnieje aplikacja wypisze na konsoli odpowiedni alert. Poniżej znajduje się opisywany fragment klasy:

Rys. 2. TestBase – metoda inicjalizująca

Rys. 2. TestBase – metoda inicjalizująca

 

Oceń ten post
Kategorie: Testing
Paulina Łojszczyk
Autor: Paulina Łojszczyk
W Sii pracuję od niemalże 5 lat, moją specjalizacją są testy aplikacji mobilnych. Ponadto zajmuję się także poznawaniem i rozwijaniem testów w narzędziu Tosca. Prywatnie jestem szczęśliwą żoną i mamą rocznej Hani.

Imię i nazwisko (wymagane)

Adres email (wymagane)

Temat

Treść wiadomości

komentarze(1)

avatar'
PM
31 marca 2016 Odpowiedz

Cześć - czy możesz podawać deklaracje namaspaceów? Bez tego dosyć ciężko odgadnąć Twój kod - w jakim namespace jest klasa Desktop?

Zostaw komentarz