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
- Statyczny
- 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