Wyślij zapytanie Dołącz do Sii

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

Chcesz lepiej zrozumieć aplikacje i systemy, które testujesz? Dołącz do ModernTester, poznaj najpotrzebniejsze narzędzia, frameworki oraz języki programowania i ćwicz na specjalnie przygotowanych środowiskach testowych: Platforma e-learningowa ModernTester

Ocena:
Autor
Avatar
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.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

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

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?