qtp tutorial 18 data driven
Pracujemy nad ustaleniem, jak wyprowadzić plik Framework automatyzacji która sprawdza się najlepiej w przypadku konkretnego projektu testowego, a także definiuje istniejące już frameworki.
Przykład, którego używaliśmy w poprzedni artykuł dotyczący struktury QTP tworzył nowe konto Gmail.
Na początek zakodowaliśmy scenariusz tworzenia nowego konta, po prostu nagrywając i odtwarzając w sposób liniowy. Widząc, jak brakowało mu modułowości, czytelności i możliwości ponownego użycia, podzieliliśmy go na funkcje, które byłyby określane jako słowa kluczowe posuwające się naprzód.
=> Kliknij tutaj, aby zapoznać się z serią samouczków szkoleniowych QTP
Osiągnęliśmy modułowość, czytelność i możliwość ponownego wykorzystania dzięki tej metodzie, ale musieliśmy uczynić program jeszcze bardziej niezawodnym, aby mógł przyjmować różne zestawy wartości bez konieczności modyfikowania samego skryptu.
Dokładnie to zamierzamy osiągnąć, wykorzystując dane napędzające testy.
Czego się nauczysz:
- Struktura automatyzacji opartej na danych wykorzystująca QTP
- Hybrydowa struktura
- Wniosek
- rekomendowane lektury
Struktura automatyzacji opartej na danych wykorzystująca QTP
Utworzenie wielu kont użytkowników Google jest zadaniem, które spróbujemy wykonać za pomocą tej struktury.
We wcześniejszym przykładzie zakodowaliśmy na stałe imię, nazwisko, szczegóły identyfikatora użytkownika itp. W naszym kodzie podczas próby utworzenia konta. Będziemy musieli oddzielić kod od danych, jeśli będziemy musieli osiągnąć aspekt napędzający dane dla tego skryptu.
Dane powinny pochodzić ze źródła, które nie jest samym programem.
Zazwyczaj dane wejściowe mogą być dowolne:
- Pliki MS Excel
- Baza danych
- Pliki tekstowe
- Pliki XML… .etc.
Pliki Excel to te, które są najczęściej używane. Sam fakt, że każde działanie w QTP jest zintegrowane z własnym arkuszem danych, wyjaśnia, dlaczego tak się dzieje.
przykład sortowania bąbelkowego w języku c ++
W jednym skrypcie można użyć jednego lub kilku źródeł danych. Możesz użyć arkusza Excela dołączonego do akcji lub możesz również użyć zewnętrznego arkusza Excela. Zasadniczo arkusz danych może być dowolnym odpowiednim plikiem zewnętrznym.
Na przykład,
Oto kod, którego potrzebujemy do napędu danych:
Browser('Gmail: Email from Google').Page('GoogleAccounts').WebEdit('FirstName').Set 'swati' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set 's' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set 'test'
Wszystkie dane w tej chwili są zakodowane na stałe. Zobaczmy teraz, jak możemy pobrać te wartości z arkusza danych.
Przejdź do widoku eksperta dla wyciągu w QTP i kliknij kolumnę wartości, aby uzyskać krok. Otworzy się następujące okno:
Wybierz opcję parametru, wybierz nazwę parametru (będzie to nazwa kolumny w arkuszu danych) i wybierz, czy zamierzasz używać arkusza globalnego, czy arkusza lokalnego (arkusz globalny jest dostępny dla wszystkich akcji w teście, ale arkusz lokalny jest specyficzny dla bieżącej akcji).
W polu „Nazwa” na ekranie QTP podaje wartość domyślną. Użytkownik ma możliwość zachowania tego samego lub zmiany.
Po kliknięciu OK w tabeli danych zostanie utworzona nowa kolumna.
Tak wygląda arkusz danych zawierający 3 zestawy imienia, nazwiska i identyfikatora konta:
Po sparametryzowaniu kod wygląda następująco:
Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('FirstName').Set DataTable('G_First_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set DataTable('G_Last_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set DataTable('gmail_address', dtGlobalSheet)
Jeśli musimy utworzyć te 3 identyfikatory użytkowników z danymi w arkuszach, musimy mieć 3 iteracje. Iteracja to nic innego jak uruchomienie testowe.
Po skonfigurowaniu danych będziemy musieli poinstruować QTP, ile razy ten kod musi zostać uruchomiony lub ile iteracji.
Oto jak to robimy: Idź do Plik-> Ustawienia i Uruchom (kliknij na obrazek, aby powiększyć)
lokalizacja pliku apk w telefonie z systemem Android
Na powyższym ekranie ustaw wymagane właściwości iteracji.
Alternatywnie możesz programowo poinstruować QTP o iteracjach. Jak zawsze, pozwala to na większą kontrolę, a także większe umiejętności programistyczne. Tak więc wybór jednej z tych metod zależy od poziomu komfortu testera.
Komponenty w ramach opartej na danych to:
- Skrypt testowy
- Pliki danych
- Wspólna biblioteka funkcjonalna (jeśli istnieje lub może być programem liniowym)
- Repozytorium obiektów (ponownie ten komponent nie będzie istniał, jeśli do tworzenia obiektów zastosowano programowanie opisowe)
Wyniki testu będą wskazywały stan „Zaliczony” lub „Niepowodzenie” dla każdego przebiegu testowego.
Oprócz domyślnej tabeli danych, jako arkusza wejściowego możemy użyć dowolnego zewnętrznego pliku Excela.
Hybrydowa struktura
W powyższym przykładzie użyłeś słów kluczowych (nazw funkcji, które utworzył użytkownik) i zleciłeś test oparty na danych, aby upewnić się, że w tym samym czasie tworzeni są różni użytkownicy. To nic innego jak struktura hybrydowa.
Połączenie dowolnych dwóch lub więcej struktur, które omówiliśmy do tej pory, jest strukturą hybrydową.
Z mojego doświadczenia wynika, że żaden framework nie działa skutecznie dla określonego projektu. Framework hybrydowy jest tym, co jest najczęściej używane.
Kilka ważnych punktów dotyczących frameworków:
- Ramy to tylko rozwiązanie, które najlepiej sprawdziło się w określonej sytuacji, ale nie należy ich interpretować jako zestawu zasad, których należy bezwzględnie przestrzegać. Powinien być postrzegany jako bardziej podobny do wskazówek.
- Może być używanych wiele innych frameworków, wymieniliśmy i wyjaśniliśmy tylko te popularne
- Nazewnictwo - różni ludzie używają różnych nazw w swoich ramach. Więc jeśli nazwy różnią się nieco w różnych aplikacjach, jest to normalne.
- Większość frameworków może być używanych w połączeniu ze sobą, gdy żaden z nich nie może zapewnić wszechstronnego rozwiązania dla twoich celów testowych.
Wniosek
W celu ułatwienia zrozumienia naprawdę uprościliśmy tutaj koncepcje frameworka. Jeśli masz jakieś problemy związane z frameworkiem, które nie zostały omówione w tych artykułach, daj nam znać. Z całą pewnością postaramy się odpowiedzieć na Twoje pytania. Zachęcamy do zadawania pytań.
=> Odwiedź tutaj, aby zapoznać się z serią samouczków szkoleniowych QTP
rekomendowane lektury
- Struktury QTP - Struktury automatyzacji testów - Przykłady struktur opartych na słowach kluczowych i liniowych - Samouczek QTP nr 17
- Jak działa testowanie oparte na danych (przykłady QTP i selenu)
- Data Driven Framework w Selenium WebDriver przy użyciu Apache POI
- Testowanie oparte na danych lub parametryzowane za pomocą Spock Framework
- Jak przeprowadzić testy oparte na danych za pomocą narzędzia TestComplete
- Samouczki QTP - ponad 25 samouczków szkoleniowych Micro Focus Quick Test Professional (QTP)
- Eksploracja danych: proces, techniki i główne problemy w analizie danych
- Parametryzacja w QTP wyjaśniona przykładami (część 1) - samouczek QTP nr 19