Istnieje wiele narzędzi wspierających różne aspekty testowania. Jedne z nich są dostępne bezpłatnie i mogą być używane w celach komercyjnych w środowiskach produkcyjnych, drugie zaś – płatne – oferują znacznie więcej możliwości, posiadają bardziej rozbudowane mechanizmy, a także oferują bogatsze wsparcie techniczne, np. poprzez łatwo dostępną, zasobną w przykłady dokumentację, czy fora. Nie oznacza to jednak, że darmowe edycje programów są słabsze i mniej miarodajne. Znaczna część bezpłatnych narzędzi efektywnie symuluje złożone zachowania co wpływa na wiarygodność testów.
Jednym z narzędzi wspierających testowanie automatyczne jest Visual Studio. Istnieje jego darmowa wersja – Express. Produkty Visual Studio Express dostępne są nieodpłatnie i mogą być swobodnie używane w celach komercyjnych, co podlega postanowieniom licencyjnym. Na oficjalnej stronie Visuala można pobrać następujące wersje:
- Express for Desktop (tworzenie aplikacji/testów programów desktopowych)
- Express for Web (tworzenie witryn sieci Web/testów stron internetowych)
- Express for Windows (tworzenie aplikacji na platformę Windows/testy aplikacji)
- Team Foundation Server Express (kontrola kodu źródłowego, zarządzanie projektami)
W niniejszym artykule zajmiemy się wersją Express for Desktop (do pobrania tutaj: https://www.visualstudio.com/pl-pl/products/visual-studio-express-vs.aspx). Aby zacząć pisać testy należy dla tej wersji Visuala posiadać także program Inspect, który jest dostarczany razem z Windows SDK. Dla wersji 8.1. SDK można pobrać stąd: https://msdn.microsoft.com/pl-PL/windows/desktop/bg162891. Inspect służy do namierzania kontrolek aplikacji desktopowych oraz do pobierania ich właściwości, jak np. automation ID, klasa bazowa, typ itd. Właściwości te pomagają w pisaniu metod służących do wchodzenia w interakcję z testowaną aplikacją. Dla płatnych wersji Visual Studio istnieje możliwość skorzystania z wbudowanego narzędzia Spy++ lub skorzystanie z opcji nagrywania dla Coded UI. Ale te rozwiązania zostaną zaprezentowane w innym artykule.
Aby uruchomić Inspect.exe należy przejść do ścieżki: „C:\Program Files\Microsoft SDKs\Windows\wersja SDK\Bin\Inspect.exe„. Aby namierzyć właściwą kontrolkę i pobrać jej właściwości, należy najechać na nią kursorem myszki. Istotną rzeczą przed rozpoczęciem namierzania jest przestawienie w menu interfejsu z MSAA (Microsoft Active Accessibility) na UI Automation.
Tyle wystarczy, aby rozpocząć pracę. Uruchamiamy Visual Studio, tworzymy projekt wybierając odpowiednią zakładkę (Visual C# -> Test -> Unit Test Project). Okno programu podzielone jest na sekcje: Test Explorer, gdzie znajduje się lista wszystkich napisanych testów; Solution Explorer, w którym znajduje się całe drzewo projektu. Możemy z tej sekcji przejść także do Team Explorer, gdzie możliwe jest podłączenie repozytorium i cała obsługa systemu kontroli wersji odbywa się już przez Visuala oraz sekcja, w której piszemy kod. W kolejnym wpisie zobaczycie, jak stworzyć prosty test oraz co należy ustawić, aby test zadziałał.
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
Dlaczego w artykule mowa jest o VS Express, a nie o Community? Już od jakieś czasu wersja Community jest dostępna dla wszystkich, za darmo. Dla indywidualnych deweloperów z możliwością wykorzystania do celów komercyjnych. Zakładam, że firmy posiadają już płatne licencje VS. Nad zaletami VS Community nad Express nie będę się rozpisywał. Wystarzy jedno – możliwość dodawania wtyczek (ReSharper, NCrunch, itd…). Jeśli chodzi o zastosowanie komercyjne VS – uważam, że lepiej jest wydać 1200$ rocznie za Professional, a dzięki narzędziom zwiększyć produktywność/efektywność/skuteczność pracowników.
Witaj,
Na razie planowane jest VS Express jednak już w przygotowaniu są też inne artykuły. Nie wykluczamy w nich Community. Sam artykuł celowo skierowany jest też do początkujących testerów automatyzacji, którzy nie mogą sobie pozwolić na płatne narzędzia.