GetRoProperty, GetToProperty w QTP/UFT z Przykładem

⚡ Inteligentne podsumowanie

Object Spy ujawnia właściwości i metody dowolnej kontrolki w testowanej aplikacji, podczas gdy GetROProperty, GetTOProperty i SetTOProperty odczytują i zapisują wartości tych właściwości z QTP or UFT Jeden skrypt w czasie wykonywania.

  • 🔎 Najpierw Object Spy: Skieruj go na kontrolkę, aby zobaczyć właściwości obiektu testowego, właściwości środowiska wykonawczego, metody i pełną hierarchię.
  • Dwa światy obiektów: Obiektem testowym jest zapisany opis, natomiast obiektem wykonawczym jest kontrolka na żywo w aplikacji.
  • PobierzROProperty: Odczytuje bieżącą wartość z kontrolki na żywo, więc aplikacja musi być otwarta, a obiekt musi istnieć.
  • 🧪 GetTOProperty: Zamiast tego odczytuje zapisany opis, dlatego obie metody mogą zwracać różne wartości.
  • 🛠️. UstawTOProperty: Zmienia opis tylko na potrzeby tego uruchomienia; repozytorium nie jest nigdy modyfikowane, a zmiana jest odrzucana na końcu.
  • 📌 Brak właściwości SetROProperty: Skrypt może odczytać aplikację, ale nie może zapisać do niej właściwości.

Object Spy i metody GetROProperty, GetTOProperty i SetTOProperty w QTP oraz UFT jeden

Ten samouczek pokazuje Obiekt Szpieg.

Object Spy może pomóc w określeniu przydatnych właściwości i metod związanych z obiektem w Twoim środowisku.

HP/mikrofokus UFT tutoriale opisuje również GetROProperty, GetTOProperty i SetTOProperty.

⚠️ Uwaga dotycząca wersji: Narzędzie opisane w tym miejscu zostało dostarczone jako HP QuickTest Professional, stało się Micro Focus Unified Functional Testing i jest obecnie sprzedawane jako OpenText Testowanie funkcjonalne (UFT Jeden). Object Spy i wszystkie trzy metody działają dokładnie tak, jak opisano poniżej.

Kliknij w tym miejscu jeśli film nie jest dostępny

Obiekt Szpieg

  • Object Spy to funkcja w QTP za pomocą którego można przeglądać właściwości i metody obiektów testowych i obiektów czasu wykonania.
  • Podaje także składnię wybranej metody.
  • Object Spy przedstawia pełną hierarchię wybranego obiektu.

Ta hierarchia ma znaczenie, ponieważ nazwa właściwości skopiowana z Object Spy to dokładnie taki ciąg znaków, jakiego oczekują trzy poniższe metody. Śledzenie obiektu jest zatem pierwszym krokiem w niemal każdym zadaniu pobierania właściwości.

GetROProperty

  • GetROProperty – wbudowana metoda służąca do pobierania wartości właściwości obiektu w czasie wykonywania.

Korzystanie z GetROProperty składa się z 4 kroków:

  1. Zarejestruj obiekt, na którym chcesz użyć GetROProperty Repozytorium obiektów.
  2. W przypadku zarejestrowanego obiektu identyfikuje on właściwość wykonawczą, która może zostać wykorzystana. Możesz użyć Object Spy.
  3. Użyj metody GetROProperty, aby pobrać zidentyfikowaną właściwość Run-time i zapisać wartość w zmiennej.
  4. Użyj tej wartości do dalszych odliczeń.

Ponieważ wartość odczytywana jest z poziomu sterowania na żywo, aplikacja musi być otwarta, a obiekt musi faktycznie znajdować się na ekranie w momencie wykonywania wiersza.

UstawWłaściwośćDO i PobierzWłaściwośćDO

  • Rozważ przycisk internetowy przechowywany w repozytorium obiektów
  • Kiedy test jest uruchomiony QTP tworzy kopię tego obiektu o nazwie Obiekt testowy i porównuje ją z Obiektem czasu wykonania
  • Za pomocą GetTOProperty można pobrać wartość właściwości obiektu testowego
  • Za pomocą SetTOProperty można zmienić wartość właściwości obiektu testowego
  • Po zakończeniu testu ten obiekt testowy zostanie odrzucony, podobnie jak wszelkie modyfikacje wprowadzone we właściwościach obiektu za pomocą polecenia SetTOProperty
  • Po ponownym uruchomieniu testu tworzona jest nowa kopia obiektu testowego z oryginalnymi wartościami właściwości przechowywanymi w repozytorium obiektów
  • Możesz rozważyć użycie GetTOProperty i SetTOProperty, gdy Twój skrypt testowy zawiera wiele wierszy kodu, a Twoje środowisko jest sporadyczne
  • Uwaga: nie ma właściwości SetROProperty

Składnia i przykłady

Wszystkie trzy metody są wywoływane na obiekcie testowym na końcu jego hierarchii i wszystkie przyjmują nazwę właściwości opisu jako ciąg znaków. Tabela zawiera sygnaturę każdej z nich.

Metoda wykonania Składnia Czyta lub pisze
GetROProperty obiekt.GetROProperty(Właściwość) Odczytuje sterowanie na żywo w aplikacji
GetTOProperty obiekt.GetTOProperty(Właściwość) Odczytuje opis zapisanego obiektu testowego
UstawWłaściwośćTO object.SetTOProperty Właściwość, Wartość Zapisuje opis obiektu testowego tylko dla tego uruchomienia

Odczyt wartości w czasie wykonywania to pojedyncza instrukcja. Ten przykład, zaczerpnięty z oficjalne odniesienie do pobierania i ustawiania wartości, pobiera adres docelowy łącza podczas sesji uruchomieniowej.

link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")

Zapis, a następnie odczyt właściwości obiektu testowego jest równie krótki. Poniższa para ustawia nazwę przycisku Submit na mój przycisk i odczytuje tę samą wartość.

Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button"
ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")

Typowa weryfikacja łączy te dwie idee: odczyt wartości w czasie wykonywania za pomocą GetROProperty, a następnie porównanie jej z tym, czego oczekuje test.

strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection")
If strValue = "Acapulco" Then
    Reporter.ReportEvent micPass, "Default city", "Default city is correct"
Else
    Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue
End If

Różnica między GetROProperty i GetTOProperty

Te dwie nazwy różnią się jedną literą i stanowią najczęściej myloną parę w tym narzędziu. RO oznacza obiekt wykonawczy, TO obiekt testowy, a każda z nich odczytuje dane z innego miejsca.

Punkt porównania GetROProperty GetTOProperty
Źródło wartości Kontrola na żywo w działającej aplikacji Opis zapisany dla obiektu testowego
Aplikacja musi być otwarta Tak Nie
Widzi zmianę SetTOProperty Nie Tak, w obecnym biegu
Typowe zastosowanie Sprawdzanie, co faktycznie widzi użytkownik Sprawdzanie lub debugowanie sposobu identyfikacji obiektu
Dopasowany setter Brak — nie ma właściwości SetROProperty UstawWłaściwośćTO

Rozważony kontrast uwidacznia podział. Ustaw identyfikator HTML na liście, która go nie zawiera, a następnie odczytaj go na dwa sposoby: GetROProperty zwraca pusty ciąg, ponieważ aplikacja nigdy się nie zmieniła, podczas gdy GetTOProperty zwraca wartość, która została właśnie wpisana do opisu.

Typowe błędy i jak je naprawić

Pobieranie właściwości kończy się niepowodzeniem z kilku przewidywalnych powodów. Tabela zawiera listę tych, z którymi testerzy spotykają się najczęściej.

Objaw Spowodować Fix
Wywołanie zwraca pusty ciąg znaków Nazwa właściwości jest nieprawidłowa lub obiekt jej nie ujawnia Ponownie wykryj obiekt i skopiuj nazwę właściwości dokładnie tak, jak jest podana
Obiekt nie został znaleziony w linii GetROProperty Kontrola jeszcze nie została oddana Dodaj krok synchronizacji przed odczytem
GetROProperty ignoruje zmianę SetTOProperty Obie metody odnoszą się do różnych obiektów w zależności od projektu Zamiast tego odczytaj zmianę za pomocą GetTOProperty
Zmiana SetTOProperty znika Edycje obiektów testowych obowiązują tylko w bieżącym przebiegu Edytuj obiekt w repozytorium lub użyj programowanie opisowe
SetROProperty zgłasza błąd składni Nie ma takiej metody Przeprowadź aplikację przez standardowy krok, taki jak Ustaw lub Kliknij

Dwa nawyki zapobiegają większości z nich: śledzenie kontrolki przed napisaniem wiersza zamiast zgadywania nazwy właściwości i VBScript wywołania pobierania są wykonywane blisko kroku, który wymaga wartości, dzięki czemu obiekt nadal będzie na ekranie, gdy nastąpi odczyt.

FAQ

Object Spy wyświetla listę właściwości identyfikacyjnych przechowywanych przez narzędzie dla danej klasy, a także właściwości natywne udostępniane przez przeglądarkę. Wartości atrybutów i stylów są uzyskiwane za pomocą prefiksów atrybutów i stylów wewnątrz ciągu właściwości.

Obiekt czasu wykonania należy do aplikacji, a nie do testu, więc narzędzie nie będzie do niego zapisywać. Aby zmienić zawartość aplikacji, należy sterować kontrolką za pomocą zwykłego kroku, takiego jak Ustaw, Wybierz lub Kliknij.

Nie. Tymczasowy obiekt testowy jest usuwany po zakończeniu testu, a następnym razem tworzona jest nowa kopia z repozytorium. Trwałe zmiany powinny być wprowadzane w samym repozytorium obiektów.

Tak. Opisany obiekt wbudowany w linię akceptuje te same wywołania, więc GetROProperty działa z programowanie opisowe też. GetTOProperty zwraca wówczas wartość z opisu wbudowanego, a nie z zapisanego wpisu.

Narzędzia lokalizacyjne wspomagane przez sztuczną inteligencję klasyfikują kilka potencjalnych właściwości dla tej samej kontrolki i naprawiają błędny opis po zmianie jednego atrybutu. Zmniejsza to konieczność ręcznego śledzenia, choć sugerowana właściwość nadal wymaga sprawdzenia przez człowieka.

Copilot kończy hierarchię i wywołanie metody po wykryciu kilku podobnych wierszy w pliku. Nie może znać rzeczywistych nazw obiektów ani właściwości udostępnianych przez kontrolkę, dlatego należy zweryfikować każdy wygenerowany ciąg znaków w Object Spy.

Object Spy to narzędzie do inspekcji, które wyświetla wartości podczas tworzenia skryptu. Punkt kontrolny to krok uruchamiany w ramach testu i raportujący wynik testu w odniesieniu do zapisanej wartości oczekiwanej.

Tylko wtedy, gdy obiekt nadal istnieje w aplikacji. Kontrolka, która nie została wyrenderowana lub została usunięta ze strony, zgłasza błąd „obiekt nie został znaleziony” zamiast zwracać pustą wartość.

Podsumuj ten post następująco: