Akcje w QTP/UFT z Przykładem
⚡ Inteligentne podsumowanie
Akcje w UFT/QTP Podziel skrypt testowy na logiczne, wielokrotnego użytku jednostki, aby testerzy mogli szybciej tworzyć, utrzymywać i udostępniać automatyzację. Ta strona wyjaśnia trzy typy akcji, sposób ich podziału i wywołania oraz sposób przekazywania danych między akcjami.
Czym jest akcja w UFT/QTP?
Akcje in UFT/QTP Podziel test na „jednostki logiczne” lub „procesy biznesowe”. Każda akcja grupuje kroki, które wykonują jedno rozpoznawalne zadanie, takie jak logowanie, wyszukiwanie lotu lub rezerwacja biletu. Akcje pomagają stworzyć skrypt, który jest bardziej modułowy i wydajny.
Nowo utworzony skrypt składa się tylko z jednej akcji. Możesz dodać więcej akcji do swojego Micro Focus. UFT skrypt zgodnie z wymaganiami, a każda dodana akcja zachowuje swoją własną logikę i dane lokalne, oddzielone od reszty testu.
Podzielenie długiego skryptu na akcje przynosi korzyści w momencie, gdy test wymaga zmiany. Tester może zaktualizować jedną akcję, na przykład sekwencję logowania, bez konieczności modyfikowania logiki wyszukiwania lub finalizacji zamówienia, która jest obecna w innych akcjach. Taka izolacja sprawia również, że akcje stają się wielokrotnego użytku elementami konstrukcyjnymi, które inne skrypty mogą wywoływać, zamiast ponownie rejestrować te same kroki.
Na przykład, typowy skrypt rezerwacji lotów dzieli się na akcję logowania, akcję wyszukiwania lotów i akcję rezerwacji biletów. Każda z nich ma swoje własne kroki i dane lokalne, więc tester, który musi jedynie zweryfikować logowanie, nie musi rejestrować ani zarządzać procesem rezerwacji.
Rodzaje działań w UFT/QTP: Wielokrotnego użytku, jednorazowego użytku i zewnętrzne
UFT/QTP obsługuje trzy rodzaje akcji. Wybrany typ decyduje, czy akcja może być udostępniana między skryptami, czy pozostanie prywatna i dostępna dla testu, w którym została utworzona.
| Rodzaj działania | Gdzie może działać | Można edytować w teście wywołania |
|---|---|---|
| Wielokrotnego użytku | Ten sam test, wiele razy lub jakikolwiek inny test | Tak, z testu, który jest jego właścicielem |
| Nie nadaje się do ponownego użycia | Tylko test, w którym został utworzony i tylko raz | Tak |
| Zewnętrzny wielokrotnego użytku | Wywołane z innego testu jako współdzielona, przechowywana akcja | Nie, tylko do odczytu; edytowalna jest tylko lokalna kopia tabeli danych |
Wielokrotnego użytku działanie staje się działanie zewnętrzne w momencie, gdy inny test go wywoła, a nie test, który jest jego właścicielem. Akcje zewnętrzne pozostają tylko do odczytu w teście wywołującym, ponieważ akcja współdzielona może być używana przez dziesiątki skryptów jednocześnie, a umożliwienie każdemu wywołującemu edycji kroków spowodowałoby awarię pozostałych. Nadal można sparametryzować wywołanie i pracować lokalnie z kopią jego tabeli danych.
Z reguły nową akcję należy pozostawić niepowtarzalną, dopóki jej logika jest przypisana do jednego testu. Promozrób tak, aby można go było ponownie wykorzystać, gdy drugi skrypt będzie potrzebował tych samych kroków, i oczekuj, że będzie się zachowywał jak zewnętrzna akcja tylko do odczytu w chwili, gdy drugi skrypt faktycznie ją wywoła.
Jak dzielić, kopiować i wywoływać akcje w UFT
W miarę rozwoju akcji, kontynuujping każdy krok w jednym miejscu utrudnia debugowanie i ponowne wykorzystanie skryptu. UFT umożliwia podzielenie istniejącej akcji na dwa sposoby, gdy stanie się ona nieporęczna.
- Podział niezależny (rodzeństwo): Wybrana akcja dzieli się na dwie oddzielne akcje, które są wykonywane jedna po drugiej, każda z nichping własną lokalną tabelę danych.
- Podział zagnieżdżony (rodzic-dziecko): Wybrana akcja dzieli się na akcję nadrzędną, której ostatni krok wywołuje drugą, akcję podrzędną, zachowując logiczną zależność między nimi.
Gdy istnieją działania, UFT oferuje trzy sposoby wprowadzenia akcji do testu z wstawka Menu:
- Wstaw wezwanie do nowej akcji: Tworzy nową, pustą akcję wewnątrz bieżącego testu.
- Wstaw wezwanie do podjęcia działania: Kopiuje istniejącą akcję w całości, łącznie z punktami kontrolnymi, parametryzacją i kartą Tabeli Danych, do testu wywołującego. Kopia jest w pełni niezależna, więc zmiany nigdy nie wpływają na oryginał ani nie są przez niego modyfikowane. Można kopiować zarówno akcje wielokrotnego użytku, jak i jednorazowe.
- Wstaw wezwanie do istniejącej akcji: Wstawia wywołanie tylko do odczytu do akcji wielokrotnego użytku zapisanej w innym teście. Można je modyfikować tylko w teście, w którym zostało utworzone, co zapewnia synchronizację wszystkich wywołań i ułatwia utrzymanie dużych zestawów testów.
Każde połączenie jest kompilowane do RunAction oświadczenie w opinii eksperta:
' Calls Action2, which is stored in Test2, running it for one iteration RunAction "Action2[Test2]", oneIteration
Akcja jest uruchamiana tyle razy, ile określono we właściwościach wywołania akcji. Na przykład, jeśli Akcja2 jest ustawiona na uruchamianie w każdej iteracji tabeli danych Test2, ale wywołanie Akcji1 w Teście1 jest uruchamiane tylko raz, Akcja2 i tak zostanie wykonana tylko raz, ponieważ samo wywołanie jest wyzwalane jednokrotnie.
💡 Wskazówka: Jeśli test zawiera kilka akcji, otwórz Przepływ testowy panel z menu Widok, aby je przeciągnąć i zmienić ich kolejność. Zmienia to kolejność, w jakiej UFT wykonuje akcje bez edytowania kroków w ramach pojedynczej akcji.
Poniższy film stanowi rozwinięcie pięcioetapowego skryptu logowania stworzonego we wcześniejszych samouczkach Rezerwacja lotu i prowadzi przez proces tworzenia, dzielenia i wywoływania akcji od początku do końca. To najdłuższy film w tym UFT/QTP seria samouczkówDlatego warto robić notatki podczas oglądania.
Kliknij w tym miejscu jeśli film nie jest dostępny
Jak przekazywać parametry i przechowywać wartości wyjściowe pomiędzy akcjami
Oprócz wywołania akcji większość prawdziwych skryptów musi przesłać do niego dane i odczytać wynik. UFT nadaje każdej akcji własne parametry wejściowe i wyjściowe, a także kilka sposobów na zapisanie zwracanych informacji.
Przekazywanie parametrów do i z akcji
Tak jak funkcje lub metody w językach programowania akcja może definiować dane wejściowe i wyjściowe parametryTen parametr nie ma związku z Parametryzacja danych testowych omówione wcześniej; parametry tutaj należą do samej akcji, a nie do kolumny tabeli danych. Skonfiguruj je z Edytuj > Akcja > Właściwości akcjilub klikając prawym przyciskiem myszy akcję w widoku słów kluczowych. Przekaż wartości w wywołaniu, używając następującej składni:
' Passes an input value and captures the action's output into myResult RunAction "Action1", oneIteration, "testuser", myResult
Przechowywanie wartości wyjściowej akcji
W zależności od potrzeb reszty skryptu, wartość zwracaną przez akcję można przechowywać w jednym z trzech miejsc:
- Zmienna:
RunAction "Action1", oneIteration, "testuser", myResultprzechowuje dane wyjściowe bezpośrednio wmyResult. - An zmienna środowiskowa: utwórz zmienną zdefiniowaną przez użytkownika w Plik > Ustawienia > Środowisko, następnie napisz
RunAction "Action1", oneIteration, "testuser", Environment("env_var"). - Kolumna tabeli danych:
RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet)zapisuje wynik bezpośrednio do arkusza globalnego.
Arkusze danych globalnych i lokalnych
Akcje odczytują i zapisują dane testowe za pomocą dwóch rodzajów arkuszy. Globalna karta danych jest unikalny dla całego testu; każda akcja może z niego odczytywać lub do niego zapisywać dane i zawsze nosi nazwę „Globalny”. Lokalna karta danych jest unikalny dla każdej akcji, nosi nazwę odpowiadającą tej akcji i tylko jej własna akcja może go odczytać lub zapisać.
Wychodzenie z akcji i kontrolowanie iteracji
Kiedy konieczne jest wcześniejsze zakończenie działania, zamiast pozwolić mu trwać do końca, UFT zawiera cztery oświadczenia:
ExitAction— zatrzymuje tylko bieżącą akcję.ExitActionIteration— zatrzymuje bieżącą iterację akcji i przechodzi do następnej.ExitRun— natychmiast zatrzymuje cały przebieg testu.ExitGlobalIteration— zatrzymuje bieżącą globalną iterację testu i przechodzi do następnej.
Podczas wykonywania a UFT/QTP scenariusz Jeśli używasz akcji, pamiętaj o iteracjach globalnych i lokalnych, ponieważ obie wpływają na liczbę powtórzeń akcji. Możesz zmienić częstotliwość powtarzania wywołanej akcji, otwierając Właściwości wywołania akcji > Uruchom i tam ustawić tryb iteracji.
⚠ Typowa pułapka: Wywołana akcja, która ma być uruchamiana w każdej iteracji lokalnej, ale jest wyzwalana przez element nadrzędny, który uruchamia się tylko raz, nadal zostanie wykonana jednokrotnie. Przed założeniem, że wywołana akcja będzie się powtarzać, należy sprawdzić zarówno liczbę iteracji globalnych elementu nadrzędnego, jak i właściwości wywołania akcji elementu podrzędnego.

