Programowanie opisowe w QTP / UFT: dynamiczne & Statyczny

Spisie treści:

Anonim

Co to jest programowanie opisowe?

Programowanie opisowe służy do wykonywania operacji na obiekcie w AUT, którego definicja nie jest przechowywana w repozytorium obiektów. Korzystając z tego mechanizmu, można ominąć identyfikację z repozytorium obiektów i podać opis obiektu w samej instrukcji.

Nazwa obiektu jest po prostu używana do mapowania obiektu w skrypcie z jego opisem w repozytorium obiektów. Oznacza to, że jeśli zmienisz nazwę obiektu w skrypcie i repozytorium obiektów, skrypt powinien zostać uruchomiony. Obejrzyj poniższy film na temat tej koncepcji

Kliknij tutaj, jeśli wideo nie jest dostępne

Najważniejsze informacje wideo

  • Usuń opis obiektu w polu edycji nazwy agenta Win z repozytorium obiektów. Jeśli ponownie uruchomisz test, zakończy się niepowodzeniem, ponieważ nie może rozpoznać obiektu. Przeanalizujmy przyczynę niepowodzenia skryptu
  • W czasie wykonywania Micro Focus UFT identyfikuje operację wykonywaną w oknie WinEdit, a opis obiektu w repozytorium obiektów jest przechowywany jako nazwa agenta. Używa tej nazwy do śledzenia obiektu w repozytorium obiektów. W przypadku rodzica nie można mieć dwóch obiektów podrzędnych o tej samej nazwie. W związku z tym QTP w unikalny sposób mapuje obiekt w repozytorium. Następnie używa przechowywanego opisu w repozytorium obiektów i zastępuje nazwę opisem. Następnie używa tej instrukcji do identyfikacji obiektu w testowanej aplikacji / li>
  • Ponieważ w naszym przypadku całkowicie usunęliśmy ten opis obiektu, skrypt nie działa / li>
  • Ale co by było, gdybyś zamiast QTP zastępował opis obiektu, jako tester bezpośrednio określasz opisy obiektów w swoim skrypcie. To nic innego jak „Programowanie opisowe”

Rodzaje programowania opisowego

Programowania opisowego można używać na dwa sposoby

  1. Statyczny
  2. Dynamiczny

Statyczne programowanie opisowe

W metodzie statycznej do identyfikacji obiektu należy określić właściwość obiektu w następującym formacie

właściwość: = wartości,

Ten format nazywa się parą wartości właściwości i jest ujęty w cudzysłów>

Jeśli twój obiekt używa wielu opisów do identyfikacji, możesz je określić za pomocą przecinków >

Tak więc w naszym przypadku opis nazwy agenta to

"nativeclass: = Edit", "załączony tekst: = Nazwa agenta:"

Dynamiczne programowanie opisowe

Drugą metodą wykonania tej samej czynności jest użycie dynamicznego programowania opisowego

W przypadku, gdy twój skrypt wielokrotnie używa opisowego obiektu programistycznego kandydata, bardzo męczące będzie określenie wszystkich par wartości właściwości dla każdej instrukcji

W takich przypadkach można skorzystać z klasy opisu udostępnianej przez QTP

Składnia tworzenia obiektu opisu to

Set MyDescription = Description.Create ();MyDescription ("właściwość"). Wartość = "wartość-właściwości";

To jest metoda dynamiczna

Dlaczego warto korzystać z programowania opisowego?

Transkrypcja wideo

  • Pytanie za milion dolarów brzmi: dlaczego używać DP, kiedy proces identyfikacji obiektów jest obsługiwany przez QTP
  • Załóżmy, że przydzielono Cię do testowania portalu z ofertami pracy. Wprowadzasz zapytanie wyszukiwania do portalu i
  • Twój test oczekuje, że wybierzesz wszystkie dostępne oferty pracy. i kliknij aplikuj ofertę pracy
  • Jednak liczba odzwierciedlonych ofert pracy będzie zależeć od zapytania wyszukiwania i ofert pracy dostępnych w momencie wykonywania skryptu, ale nie ma możliwości przewidzenia z wyprzedzeniem liczby ofert, które zostaną odzwierciedlone
  • W takich przypadkach możesz użyć programowania opisowego. Nawet jeśli nie znasz liczby i nazw pól wyboru, znasz klasę obiektów jako „WebCheckBox”
  • Możesz użyć metody ChildObject, aby zwrócić obiekty należące do określonego rodzica
  • Linia kodu, na przykład -
    Ustaw allObjects = Browser („Jobs”). Page („QTP”). ChildObjects ()
  • Zwróci wszystkie obiekty podrzędne dla tej strony.
  • Ale chcemy tylko obiektów WebCheckBox. Aby to zrobić, możemy utworzyć obiekt tworzenia filtru i ustawić jego właściwość jako pole wyboru sieci i przekazać ten filtr jako argument dla metody ChildObjects
  • W takim przypadku zwracane są tylko pola wyboru.
  • Następnie możesz napisać taki kod, który będzie miał dostęp do całej kolekcji pól wyboru zaczynając od zera i ustawia wszystkie pola wyboru WŁĄCZONE.
  • Następnie możesz kliknąć przycisk Zastosuj, aby zakończyć test
  • Możesz również użyć programowania opisowego do uruchamiania obiektów, które są trudne do zarejestrowania, takich jak automatyczne ukrywanie paneli, obiekty ze zmieniającą się hierarchią, zagnieżdżone obiekty wewnętrzne, podmenu.
  • Możesz także wykonywać zaawansowane operacje na ciągach znaków przy użyciu programowania opisowego
  • W połączeniu z właściwością indeksu, programowanie opisowe może być bardzo przydatne w identyfikowaniu trudnych obiektów.
  • Jeśli używasz opisu programistycznego dla obiektu w hierarchii obiektów, będziesz musiał użyć programowania opisu dla kolejnych obiektów potomnych
  • Na przykład dla obiektu strony zastosowano programowanie opisowe, ale w przypadku kolejnego obiektu podrzędnego używane jest repozytorium obiektów WinEdit, co jest niepoprawne
  • Wręcz przeciwnie, w tym przypadku zarówno programowanie opisowe Page, jak i WinEdit jest używane, co jest poprawne