QTP Tutorial #18 – data Driven and Hybrid Frameworks Explained with QTP Examples

pracujemy nad tym, jak uzyskać ramkę automatyzacji, która działa najlepiej dla określonego projektu testowego, a także definiując pewne ramy, które już istnieją.

przykładem, którego użyliśmy w poprzednim artykule dotyczącym frameworka QTP, było utworzenie nowego konta Gmail.

na początek zakodowaliśmy scenariusz tworzenia nowego konta poprzez nagrywanie i odtwarzanie w Linearny sposób. Widząc, jak bardzo brakowało w nim modułowości, czytelności i możliwości ponownego użycia, podzieliliśmy go na funkcje, które można by nazwać słowami kluczowymi.

=> Kliknij tutaj, aby zobaczyć serię samouczków szkoleniowych QTP

data Driven and Hybrid Frameworks data Driven and Hybrid Frameworks

dzięki tej metodzie udało nam się osiągnąć modułowość, czytelność i możliwość ponownego użycia, ale musieliśmy uczynić program jeszcze bardziej niezawodnym, aby mógł przyjmować różne zestawy wartości bez konieczności modyfikowania samego skryptu.

to jest dokładnie to, co zamierzamy osiągnąć dzięki danych napędzających testy.

Framework automatyzacji opartej na danych za pomocą QTP

tworzenie wielu kont użytkowników Google jest zadaniem, które postaramy się wykonać za pomocą tego frameworku.

we wcześniejszym przykładzie zakodowaliśmy na stałe imię, nazwisko, dane ID użytkownika itp. do naszego kodu podczas próby utworzenia konta. Będziemy musieli oddzielić Kod od danych, jeśli mamy osiągnąć aspekt napędzający dane dla tego skryptu.

dane powinny pochodzić ze źródła, które nie jest samym programem.

zazwyczaj wprowadzanie danych może być dowolne:

  • pliki MS Excel
  • baza danych
  • pliki tekstowe
  • pliki XML….itd.

pliki Excela są najczęściej używane. Sam fakt, że każda akcja w QTP jest zintegrowana z własnym arkuszem danych, wyjaśnia, dlaczego tak jest.

możesz użyć jednego lub więcej źródeł danych dla jednego skryptu. Można użyć arkusza programu excel dołączonego do operacji lub użyć zewnętrznego arkusza programu excel. 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 są zakodowane. Zobaczmy teraz, jak możemy wziąć te wartości z arkusza danych.

przejdź do widoku eksperta dla instrukcji w QTP i kliknij kolumnę wartość dla kroku.

otworzy się następujące okno:

struktura oparta na danych

wybierz opcję parametru, wybierz nazwę parametru (będzie to nazwa kolumny w arkuszu danych) i wybierz, czy chcesz użyć arkusza globalnego, czy lokalnego (arkusz Globalny jest dostępny dla wszystkich akcji w teście, ale arkusz lokalny jest specyficzny dla bieżącej akcji).

dla pola „Nazwa” na ekranie, QTP zapewnia wartość domyślną. Użytkownik ma możliwość zachowania tego samego lub zmiany.

data driven framework

po kliknięciu OK, nowa kolumna zostanie utworzona w tabeli danych.

framework oparty na danych

tak wygląda Arkusz danych zawierający 3 zestawy imienia, nazwiska i identyfikatora konta:

data driven framework

po parametryzacji kod wygląda tak, jak pokazano poniżej:

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 mamy utworzyć te 3 identyfikatory użytkownika z danymi w arkuszu, musimy mieć 3 iteracje. Iteracja to nic innego jak próba.

po skonfigurowaniu danych będziemy musieli poinstruować QTP, ile razy ten kod musi być uruchomiony lub ile iteracji.

oto jak to zrobimy: przejdź do ustawień Pliku – > i uruchom

data driven framework

na powyższym ekranie ustaw właściwości iteracji zgodnie z wymaganiami.

na przemian możesz programowo poinstruować QTP o iteracjach. Jak zawsze, pozwala to na większą kontrolę, a także umiejętności programowania. Tak więc wybór jednej z tych metod zależy od poziomu komfortu testera.

komponentami frameworka opartego na danych są:

  1. skrypt testowy
  2. Pliki Danych
  3. współdzielona Biblioteka funkcjonalna (jeśli istnieje lub może być programem liniowym).
  4. Object repository (ponownie ten komponent nie będzie istniał, jeśli do tworzenia obiektów użyto programowania opisowego).

wyniki testu pokażą status „zdany” lub „nieudany” dla każdego testu.

oprócz tabeli danych, która jest domyślnie, możemy użyć dowolnego zewnętrznego pliku excel jako arkusza wejściowego.

Hybrid Framework

w powyższym przykładzie użyłeś słów kluczowych (nazw funkcji utworzonych przez użytkownika) i przeprowadziłeś test na podstawie danych, aby upewnić się, że różni użytkownicy są tworzeni w tym samym czasie. To nic innego jak Hybrydowy framework.

połączenie dowolnych dwóch lub więcej frameworków, które omówiliśmy do tej pory, jest frameworkiem hybrydowym. Z mojego doświadczenia wynika, że żaden framework nie działa efektywnie dla danego projektu. Framework hybrydowy jest tym, co jest najczęściej używane.

kilka ważnych punktów o frameworkach:

  • framework jest po prostu rozwiązaniem, które działało najlepiej w określonej sytuacji, ale nie powinno być interpretowane jako zbiór reguł, których należy zdecydowanie przestrzegać. Powinno to być postrzegane jako wytyczne.
  • w użyciu może być wiele innych frameworków, wymieniliśmy i wyjaśniliśmy tylko te typowe.
  • nazewnictwo-Różni ludzie używają różnych nazw. Więc jeśli nazwy są nieco różne od jednej aplikacji do drugiej, to jest normalne.
  • Większość frameworków może być używana w połączeniu ze sobą, gdy żadna z nich nie może zapewnić kompleksowego rozwiązania twoich celów testowych.

podsumowanie

w celu łatwego zrozumienia, naprawdę uprościliśmy koncepcje frameworka.

jeśli masz jakieś problemy związane z frameworkiem, które napotykasz, ale nie są objęte tymi artykułami, daj nam znać. Na pewno postaramy się odpowiedzieć na twoje pytania. Zapraszamy do zadawania pytań.

=>

Ostatnia aktualizacja: 29 listopada 2021 r.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany.