DescriptProgramowanie w QTP/UFT: dynamiczne i statyczne

Co to jest Descriptprogramujesz?

DescriptProgramowanie ive jest używane do wykonywania operacji na obiekcie w AUT, którego definicja nie jest przechowywana w repozytorium obiektów. Używając tego mechanizmu, możesz ominąć identyfikację z repozytorium obiektów i dostarczyć obiekt Descriptw samym oświadczeniu.

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

Kliknij tutaj jeśli film nie jest dostępny

Najciekawsze wideo

  • Usuń obiekt DescriptNazwa agenta Win Edit Box z Repozytorium Obiektów. Jeśli uruchomisz test ponownie, zakończy się on niepowodzeniem, ponieważ nie rozpoznaje obiektu. Przyjrzyjmy się przyczynie niepowodzenia skryptu
  • W czasie wykonywania Micro Focus UFT identyfikuje operację wykonywaną w polu WinEdit i obiekcie Description w Object Repository jest przechowywany jako Agent Name. Używa tej nazwy do śledzenia obiektu w object repozytorium. Dla obiektu nadrzędnego nie można mieć dwóch obiektów podrzędnych o tej samej nazwie. Dlatego QTP jednoznacznie mapuje obiekt w repozytorium. Następnie używa zapisanego opisu w Object Repository i zastępuje nazwę opisem. Następnie używa tego polecenia do zidentyfikowania obiektu w testowanej aplikacji
  • Ponieważ w naszym przypadku całkowicie usunęliśmy opis obiektu, skrypt nie powiedzie się
  • A co jeśli zamiast QTP zastępować opis obiektu, jako tester bezpośrednio określisz opisy obiektów w swoim skrypcie. To nic innego jak „DescriptProgramuję”

Rodzaje Descriptprogramuję

Możesz użyć Descriptprogramuję na dwa sposoby

  1. Statyczny
  2. Dynamiczny

Statyczny Descriptprogramuję

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

property:=values,

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 wiele opisów do identyfikacji, możesz je określić za pomocą przecinków

Zatem w naszym przypadku opis nazwy agenta przyjmuje postać

"nativeclass:=Edit", "attached text:=Agent Name:"

Dynamiczny Descriptprogramuję

Drugą metodą wykonania tej samej akcji jest użycie Dynamicu Descriptprogramuję

Jeśli Twój skrypt wielokrotnie używa opisowego kandydata na obiekt programowania, określanie wszystkich par wartości właściwości dla każdej instrukcji będzie bardzo męczące

W takich przypadkach można skorzystać Descriptklasa jonowa dostarczone przez QTP

Składnia do tworzenia obiektu opisu jest

Set MyDescription = Description.Create();
MyDescription("property").Value = "property-value";

To jest Metoda dynamiczna

Dlaczego warto korzystać Descriptprogramujesz?

Zapis wideo

  • Pytanie warte milion dolarów brzmi: po co używać DP, gdy proces identyfikacji obiektu jest obsługiwany przez QTP
  • Załóżmy, że zostałeś przydzielony do testowania portalu pracy. Wprowadzasz zapytanie do portalu i
  • Twój test wymaga wybrania wszystkich dostępnych ofert pracy i kliknięcia aplikacji
  • Jednak liczba odzwierciedlonych zadań będzie zależeć od zapytania wyszukiwania i zadań dostępnych w momencie wykonywania skryptu, ale nie ma możliwości przewidzenia z góry liczby odzwierciedlonych zadań
  • W takich przypadkach możesz użyć programowania opisowego. Nawet jeśli nie znasz liczby i nazw pól wyboru, znasz klasę obiektów, np. „WebCheckBox"
  • Możesz użyć Metoda ChildObject aby zwrócić obiekty należące do konkretnego rodzica
  • Linia kodu taka jak –
    Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
  • Zwróci wszystkie obiekty podrzędne dla tej strony.
  • Ale my chcemy tylko WebCheckBox obiekty. Aby to zrobić, możemy utworzyć obiekt tworzenia filtra i ustawić jego właściwość jako pole wyboru web i przekazać ten filtr jako argument dla metody ChildObjects
  • W tym przypadku zwracane są tylko pola wyboru.
  • Następnie możesz napisać kod taki jak ten, który będzie miał dostęp do całej kolekcji pól wyboru, zaczynając od zera, i ustawi wszystkie pola wyboru jako WŁĄCZONE.
  • Następnie możesz kliknąć przycisk Zastosuj, aby ukończyć test
  • Można również użyć DescriptProgramowanie umożliwiające uruchamianie obiektów trudnych do zarejestrowania, takich jak panele z funkcją automatycznego ukrywania, obiekty o zmiennej hierarchii, zagnieżdżone obiekty wewnętrzne, podmenu.
  • Można także wykonywać zaawansowane manipulacje ciągami 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żyjesz opisu programowego dla obiektu w hierarchii obiektów, będziesz musiał użyć programowania opisu dla kolejnych obiektów podrzędnych
  • Na przykład dla obiektu strony użyto programowania opisowego, ale dla kolejnego obiektu podrzędnego użyto repozytorium obiektów WinEdit, co jest nieprawidłowe
  • Wręcz przeciwnie, zarówno w przypadku Page, jak i WinEdit stosowane jest programowanie opisowe, co jest prawidłowe