Repozytorium obiektów lokalnych i współdzielonych w QTP/UFT

⚡ Inteligentne podsumowanie

Repozytorium obiektów w QTP/UFT Jedna z nich przechowuje obiekty testowe i właściwości, których narzędzie używa do rozpoznawania aplikacji. Występuje w dwóch formach: lokalnego repozytorium dla każdej akcji oraz wielokrotnego użytku repozytorium współdzielonego.

  • 🔘 Model obiektu testowego: QTP uczy się właściwości obiektu podczas nagrywania i porównuje je z obiektem w czasie wykonywania podczas odtwarzania.
  • ️ Domyślnie lokalnie: Każda akcja rozpoczyna się od własnego lokalnego repozytorium zapisanego jako ObjectRepository.bdb w folderze akcji.
  • ✅ Skala współdzielonych repozytoriów: Plik .tsr znajduje się poza testem i może być powiązany z wieloma akcjami w wielu testach.
  • 🧪 Trzy główne kroki: Utwórz repozytorium, powiąż je ze swoimi akcjami, a następnie edytuj je za pomocą Menedżera repozytorium obiektów.
  • 🛠️. Strażnik tylko do odczytu: Udostępnione repozytorium otwiera się w Menedżerze w trybie tylko do odczytu, dopóki nie zostanie wybrana opcja Plik > Włącz edycję.
  • 📌 Obecne nazewnictwo: QTP jest teraz OpenText Testowanie funkcjonalne (UFT Jeden), ale menu repozytorium i formaty plików pozostają niezmienione.

Struktura repozytorium obiektów lokalnych i współdzielonych w QTP oraz UFT jeden

Czym jest repozytorium obiektów? QTP?

Repozytorium obiektów jest zbiorem obiektów testowych i informacji, które są rozpoznawane przez QTP do pracy nad nim. Gdy użytkownik rejestruje test, obiekty i ich właściwości są domyślnie przechwytywane.

Ponieważ każdy zautomatyzowany krok musi wskazywać na zapisany obiekt, repozytorium jest warstwą, która decyduje, czy skrypt będzie nadal działał po zmianie aplikacji. Najpierw należy zrozumieć, w jaki sposób obiekty się tam znajdują.

Jak działa identyfikacja obiektów w QTP?

  • QTP wykorzystuje technologię „ludzką” do identyfikacja obiektu
  • Podczas Rekord czas, QTP próbuje poznać właściwości obiektu GUI, na którym wykonywana jest operacja.
  • W czasie wykonywania, UFT Porównuje się przechowywane właściwości obiektu z rzeczywistymi właściwościami obiektu dostępnymi na ekranie i jednoznacznie identyfikuje obiekt niezależnie od jego położenia na ekranie.
  • Przechowywany obiekt wraz ze swoimi właściwościami nazywany jest Obiekt testowy
  • W czasie wykonywania rzeczywisty obiekt dostępny w testowanej aplikacji nazywa się Obiekt wykonawczy
  • To jest Szybki test „Testowy model obiektu”
  • Informacje o obiektach testowych są przechowywane w repozytorium obiektów
  • Dodatki pomagają, instruując program QuickTest z wyprzedzeniem o naturze obiektu, który ma zostać nagrany, aby skrócić czas potrzebny na poznanie jego właściwości

Naucz się identyfikacji obiektów na przykładzie w poniższym filmie

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

Typy repozytoriów obiektów

Istnieją 2 typy repozytorium obiektów w QTP

  1. Lokalne repozytorium obiektów
  2. Udostępnione repozytorium obiektów

Różnią się one tylko jednym: kto jest właścicielem obiektów. Repozytorium lokalne należy do jednej akcji, podczas gdy repozytorium współdzielone jest niezależnym plikiem, który może być pożyczony przez dowolną akcję.

Lokalne repozytorium obiektów

  • Lokalne repozytorium obiektów jest domyślnym repozytorium obiektów
  • Jest specyficzny dla akcji i może być użyty tylko dla określonej akcji
  • Lokalne repozytorium obiektów jest preferowane, gdy aplikacja nie jest dynamiczna w stosunku do czasu
  • Lokalnego repozytorium obiektów nie można ponownie wykorzystać
  • W lokalnym repozytorium obiektów można wykonywać wiele operacji, takich jak:
    • Zaznacz obiekt przechowywany w repozytorium testowanej aplikacji
    • Sprawdź, czy konkretny obiekt w Twoim AUT jest przechowywany w Repozytorium Obiektów
    • Wycinaj, kopiuj, wklejaj, modyfikuj i usuwaj obiekty
    • Jeżeli przypadkowo zmieniłeś wartość nieruchomości, możesz zaktualizować jej opis z poziomu aplikacji, korzystając z funkcji aktualizacji.

Poniższy film prezentuje pracę z lokalnym repozytorium obiektów.

Repozytorium obiektów współdzielonych: twórz, skojarz, edytuj

  • Globalne lub współdzielone repozytorium obiektów jest preferowane, gdy aplikacja jest dynamiczna i opisy obiektów często się zmieniają
  • W projektach automatyzacji częściej stosuje się repozytorium obiektów współdzielonych i lokalnych.
  • Jednakże w porównaniu do lokalnego repozytorium obiektów wiąże się to z większymi nakładami na konserwację i administrację.

Aby utworzyć i używać repozytorium obiektów współdzielonych, należy wykonać trzy ogólne kroki

  • Tworzenie repozytorium obiektów współdzielonych
  • Powiązanie repozytorium obiektów współdzielonych
  • Edytowanie repozytorium obiektów współdzielonych

Przyjrzyjmy się im pojedynczo

Krok 1) Tworzenie repozytorium obiektów współdzielonych

  • Wszystkie repozytoria są domyślnie lokalne. Aby utworzyć repozytorium obiektów współdzielonych, w oknie dialogowym Repozytorium obiektów Box, Kliknij Plik > Eksportuj obiekty lokalne
  • Pliki repozytorium mają rozszerzenie .tsrPodaj odpowiednią nazwę, powiedz „guru99” i zapisz
  • Plik repozytorium współdzielonego został utworzony

Krok 2) Kojarzenie repozytorium obiektów współdzielonych

  • Następnym krokiem jest powiązanie repozytorium z testem, co umożliwi jego użycie
  • Aby skojarzyć repozytorium z testem, kliknij Zasoby > Repozytorium współpracowników (oznaczone Repozytoria stowarzyszone w bieżącym UFT Jedna wersja)
  • Możesz wybrać repozytorium, które chcesz powiązać z akcjami dostępnymi w teście.
  • Możesz teraz użyć tego współdzielonego repozytorium do opracowania swojego testu

Krok 3) Edycja repozytorium obiektów współdzielonych

  • Do edycji udostępnionego repozytorium można użyć Menedżera repozytorium obiektów.
  • Wybierz Zasoby > Menedżer repozytorium obiektówOtwórz utworzone przez nas repozytorium obiektów „guru99”
  • Domyślnie repozytorium jest otwarte w trybie tylko do odczytu. Aby włączyć edycję, kliknij Plik > Włącz edycję
  • Po włączeniu edycji możesz wykonywać wszystkie operacje, takie jak wycinanie, kopiowanie, wklejanie i zmienianie nazw obiektów, co jest również możliwe w repozytorium obiektów
  • Za pomocą Menedżera repozytoriów obiektów można również porównać dwa repozytoria obiektów. QTP raportuje statystyki dotyczące tego, co jest unikalne, a co wspólne w obu repozytoriach
  • Za pomocą narzędzia do scalania repozytoriów obiektów można połączyć dwa repozytoria w jedno

Poniższy film przedstawia przebieg pracy w ramach współdzielonego repozytorium.

Różnica między lokalnym a współdzielonym repozytorium obiektów

Większość zespołów ostatecznie korzysta z obu rodzajów obiektów równolegle, dlatego warto zobaczyć kompromisy w jednym miejscu, zanim zdecyduje się, gdzie umieścić nowy obiekt.

kryteria Lokalne repozytorium obiektów Udostępnione repozytorium obiektów
Dostępność: Tworzone automatycznie przy każdej akcji Należy utworzyć, a następnie powiązać z akcją
Zakres Jedno repozytorium na akcję; możliwe do wykorzystania tylko przez daną akcję Jeden plik, który można wykorzystać w wielu akcjach i testach
Format pliku Zapisano jako ObjectRepository.bdb w folderze akcji Zapisano jako zewnętrzny .tsr filet
Edycja Można edytować bezpośrednio w oknie repozytorium obiektów Tylko do odczytu domyślnie; edytowane za pomocą Menedżera repozytorium obiektów
Ponowne użycie Nie można ponownie wykorzystać Zaprojektowane do ponownego wykorzystania i kontroli wersji
Konserwacja Zmieniona właściwość musi zostać naprawiona w każdej akcji Zmieniona właściwość jest ustalana raz, dla każdego powiązanego testu
Najlepiej nadaje się do Małe, stabilne aplikacje i testy uczenia się w oparciu o pojedyncze działania Duże lub dynamiczne aplikacje z udziałem wielu inżynierów automatyki

Krótko mówiąc, lokalne repozytorium jest szybsze na początek, a współdzielone jest tańsze w utrzymaniu. Testy uczenia się i jednorazowe sprawdzenia mogą pozostać lokalne; wszystko, co uruchomi druga osoba, powinno być w… .tsr plik.

Jak dodawać obiekty bezpośrednio do współdzielonego repozytorium obiektów

Eksportowanie obiektów lokalnych to tylko jedna droga do .tsr plik. Jeśli wiesz już, jakich kontrolek potrzebuje zestaw, szybciej będzie najpierw utworzyć współdzielone repozytorium i w ogóle nie zapisywać danych.

  1. Wybierz Zasoby > Menedżer repozytorium obiektów aby otworzyć okno Menedżera.
  2. Dodaj Plik> Nowy aby rozpocząć puste, współdzielone repozytorium lub otworzyć istniejące .tsr plik i wybierz Plik > Włącz edycję.
  3. Użyj Dodaj obiekty opcja wskazania kontrolki, której działanie chcesz poznać w testowanej aplikacji, a następnie potwierdzenia wyboru.
  4. Powtórz tę czynność dla każdego elementu sterującego, którego dotyka pakiet, zmieniając nazwy obiektów na takie, które będą czytelne.
  5. Wybierz Plik> Zapisz i zapisz plik w folderze kontroli źródła obok testu.
  6. Wróć do testu i wybierz Zasoby > Repozytorium współpracowników i dołącz plik do każdej akcji, która go wymaga.

Dwa nawyki sprawiają, że to podejście się opłaca. Nazywaj obiekty zgodnie z ich rolą biznesową, a nie podpisem, ponieważ podpisy zmieniają się częściej niż role. Używaj też jednego repozytorium na ekran lub moduł aplikacji zamiast jednego dużego pliku, ponieważ mniejsze repozytoria ładują się szybciej i generują znacznie mniej konfliktów scalania.

FAQ

Lokalne repozytorium obiektów jest przechowywane jako plik ObjectRepository.bdb w folderze akcji. Współdzielone repozytorium obiektów jest przechowywane jako samodzielny plik .tsr, który znajduje się poza testem i można go zaewidencjonować w systemie kontroli wersji.

Tak. Otwórz okno repozytorium obiektów dla akcji i wybierz Plik, a następnie Eksportuj obiekty lokalne. QTP zapisuje obiekty akcji do pliku .tsr, który następnie można powiązać z dowolną akcją, która ich potrzebuje.

Tak. Okno dialogowe „Associate Repository” akceptuje kilka plików .tsr na akcję i pozwala ustawić ich priorytet. Jeśli ta sama nazwa obiektu pojawi się dwukrotnie, wygrywa repozytorium znajdujące się wyżej na liście.

Menedżer repozytorium obiektów otwiera współdzielone pliki tylko do odczytu, aby dwaj inżynierowie nie mogli nadpisywać sobie nawzajem danych. Wybierz Plik, a następnie Włącz edycję, aby włączyć blokadę zapisu, i zamknij plik po zakończeniu, aby współpracownicy mogli go edytować.

Identyfikacja wspomagana sztuczną inteligencją w UFT Jeden z nich dopasowuje kontrolki według wyglądu wizualnego i tekstu etykiety, a nie stałych właściwości, więc zmieniona nazwa klasy nie powoduje już przerwania kroku. Sugestie samonaprawiania sygnalizują również nieaktualne opisy repozytorium po zmianie interfejsu użytkownika.

Copilot może tworzyć szkice otaczającej logiki VBScript, pętli i raportów, ale nie widzi Twojego repozytorium. Nazwy obiektów nadal muszą pochodzić z samego repozytorium, więc traktuj wygenerowane hierarchie jako symbole zastępcze i weryfikuj każdą z nich za pomocą… Obiekt Szpieg.

Nie, ona go uzupełnia. Descriptprogramuję buduje opis obiektu w kodzie w czasie wykonywania, co jest odpowiednie dla dynamicznych kontrolek, podczas gdy repozytorium pozostaje lepszym wyborem w przypadku stabilnych ekranów i czytelnych skryptów.

Otwórz oba pliki w Menedżerze Repozytorium Obiektów i uruchom narzędzie do scalania repozytorium obiektów. Narzędzie to zgłosi, które obiekty są wspólne, a które unikatowe, a następnie pozwoli rozwiązać każdy konflikt przed zapisaniem scalonego pliku .tsr.

Podsumuj ten post następująco: