descriptive programming qtp
Z tego samouczka dowiesz się czym jest programowanie opisowe w QTP , i Połączenie z bazą danych w QTP czyli jak połączyć się z zewnętrznymi źródłami danych, takimi jak baza danych i arkusze MS Excel za pomocą QTP.
Programowanie opisowe to mechanizm tworzenia testów, w którym zamiast ich rejestrowania używa się „Programowego opisu” obiektów.
=> Kliknij tutaj, aby zapoznać się z serią samouczków szkoleniowych QTP
Krótka uwaga na temat tej serii artykułów QTP, zanim przejdziemy do szczegółów tego samouczka:
To jest ostatni samouczek z naszej serii szkoleń online dotyczących QTP. Mam nadzieję, że podobały wam się te samouczki i zaczęliście się od nich uczyć.
Podziel się z nami swoją opinią:
Oczekuję Waszych opinii nie tylko na temat tej serii samouczków, ale także całej witryny. Proszę kliknij tutaj, aby podzielić się swoimi przemyśleniami o tej witrynie. Nie zajmie to kilku minut. Cenimy Twoje opinie i sugestie. Daj nam znać, co możemy zrobić, aby poprawić Twoje doświadczenia z SoftwareTestingHelp.com
aplikacja szpiegowska na telefon komórkowy dla Androida
Czego się nauczysz:
Programowanie opisowe w QTP
Programowanie opisowe to mechanizm tworzenia testów, w którym zamiast ich rejestrowania używa się „Programowego opisu” obiektów.
Używając tej techniki, QTP może być użyte do identyfikacji obiektów, których nie ma w repozytorium.
Istnieją 2 odmiany programowania opisowego:
- Statyczne programowanie opisowe
- Dynamiczne programowanie opisowe
Statyczne programowanie opisowe
Metoda statyczna polega na próbie uzyskania dostępu do obiektu przy użyciu zestawu właściwości i wartości bezpośrednio w instrukcji VB.
Składnia: TestObject ('Nazwa właściwości1: = wartość właściwości', 'nazwa właściwości 2: = wartość właściwości',… .n)
Oto jak tego używasz:
gdzie mogę oglądać darmowe animacje online
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Dynamiczne programowanie opisowe
Działa to poprzez utworzenie obiektu opisu. Spójrz na poniższy przykład, aby utworzyć obiekt webButton.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass odnosi się do predefiniowanych klas w QTP. Wartości, które możesz przypisać, mogą być przyciskami sieciowymi, listami internetowymi itp.
- W QTP 10 wartości micClass uwzględniają wielkość liter, ale w QTP 11 i nowszych nie. Jeśli napiszesz webbutton w QTP 10, nie powiedzie się. Będziesz musiał napisać webButton. Ale ten sam przycisk sieciowy przejdzie w QTP 11.
Możesz wyodrębnić wszystkie obiekty określonej klasy na stronie, używając następującej instrukcji:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
Powyższy zestaw instrukcji wyodrębni wszystkie przyciski na stronie i zapisze je w obiekcie ObjectList.
Wszechstronność korzystania z programowania opisowego polega na tym, że te wiersze kodu będą działać na każdej otwartej stronie. Możesz otworzyć google.com w przeglądarce i policzyć, ile przycisków znajduje się na tej stronie. Będzie działać dokładnie tak samo, jeśli masz otwartą amazon.com lub jakąkolwiek inną witrynę.
Dzieje się tak, ponieważ nazwa tytułu strony jest ustawiona na *, co jest wyrażeniem regularnym.
Widzisz więc, jak możemy napisać kod, który może być użyty więcej niż jeden raz, nie zakodowując na stałe wartości właściwości i tworzenie obiektów w czasie wykonywania .
Weźmy nasz przykład trochę dalej. Powiedzmy, że próbuję wydrukować nazwy wszystkich przycisków internetowych na stronie, jeden po drugim.
Jeśli na stronie znajdują się 4 przyciski, do każdego z nich można uzyskać dostęp w następujący sposób:
Msgbox ObjectList (0) .GetRoProperty („nazwa”) - Spowoduje to wydrukowanie nazwy pierwszego przycisku.
Msgbox ObjectList (1) .GetRoProperty („nazwa”)
Msgbox ObjectList (2) .GetRoProperty („nazwa”)
Msgbox ObjectList (3) .GetRoProperty („nazwa”)
Zauważ, że:
- Indeks obiektów podrzędnych zaczyna się od 0
- Ponieważ obiekt osiąga swoje właściwości w czasie wykonywania, używamy metody GetRoProperty, aby je pobrać.
Możemy zmienić powyższy kod tak, aby działał z dowolną liczbą przycisków na stronie, używając „pętli For” i powtarzając instrukcje w bloku „For”, aż osiągnie koniec liczby obiektów.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
Użycie „pętli For” jest lepsze, ponieważ w tym przypadku nie musisz wiedzieć, ile obiektów znajduje się w obiekcie opisu.
Kilka punktów do zapamiętania:
- Będziesz potrzebował praktyki, aby opanować programowanie opisowe. Bez względu na to, ile przykładów obejrzysz i zrozumiesz, będziesz potrzebować praktycznego doświadczenia, aby naprawdę z nim pracować.
- Jako tester nie musisz wiedzieć, w jaki sposób obiekty są kodowane w Twoim AUT i jakie wartości są ustawione. Dlatego od czasu do czasu używaj ObjectSpy, aby wybrać odpowiednie właściwości, aby wyświetlić właściwości.
- Wyniki testu wskażą, że obiekt testowy został utworzony dynamicznie podczas sesji uruchamiania przy użyciu opisu programowania lub metod ChildObject.
Łączenie się z powszechnie używanymi zewnętrznymi źródłami danych z QTP
Podczas przygotowywania testów będzie wiele przypadków, w których będziesz musiał połączyć się z zewnętrzną bazą danych lub innymi źródłami danych. Po nawiązaniu połączenia będziesz również musiał przenieść dane do iz tych aplikacji na QTP i odwrotnie.
Chociaż dostarczenie kompletnego przewodnika po pracy z interfejsami zewnętrznymi wykracza poza zakres tych artykułów, przyjrzymy się kilku z nich, które są najczęściej używane.
Połączenie z bazą danych w QTP
Aby połączyć się z bazą danych, zwykle używamy obiektu połączenia ADO. ADO to obiekty danych ActiveX firmy Microsoft.
Oto kroki, które należy wykonać:
# 1) Utwórz DSN. Zapoznaj się z samouczkiem dotyczącym punktu kontrolnego bazy danych, aby zobaczyć, jak to się robi, lub utwórz go z panelu sterowania.
#dwa) Utwórz obiekt połączenia:
Ustaw conn = CreateObject („ADODB.connection”)
# 3) Utwórz obiekt zestawu rekordów. Obiekt rekordów zawiera wyniki zapytania, które zamierzamy uruchomić.
Ustaw rs = CreateObject („ADODB.RecordSet”)
# 4) Otwórz obiekt połączenia i uruchom zapytanie:
conn.Open „DSN = testDB2; UID = swatiseela; pwd = testing @ 123”
rs.Open „Wybierz * z abc”, połącz
# 5) Dostęp do wszystkich wyników zapytania można teraz uzyskać za pomocą obiektu „rs”.
# 6) Na przykład, jeśli chcesz uzyskać liczbę zwróconych wierszy, możesz użyć
rs.getrows
# 7) Na przykład tabela ma 2 wiersze i 3 kolumny (a, b, c), do wartości można uzyskać dostęp w następujący sposób:
Msgbox rs.fields (0). A
Msgbox rs.fiels (0). B
Msgbox rs.fields (0). C
# 8) Jeśli istnieje zbyt wiele wartości, do których można uzyskać dostęp, można użyć instrukcji pętli.
# 9) Niektóre z funkcji, z których może korzystać obiekt zestawu rekordów, to: rs.move, rs.movenext, rs.getrows, rs.close, rs.open itp.
jak stworzyć projekt w eclipse
Spójrzmy na cały kod za jednym razem:
Set conn=CreateObject(“ADODB.connection”) Set rs=CreateObject(“ADODB.RecordSet”) conn.Open “DSN=testDB2;UID=swatiseela;pwd=testing@123” rs.Open “Select * from abc”,conn msgbox rs.getrows Msgbox rs.fields(0).a Msgbox rs.fiels(0).b Msgbox rs.fields(0).c Msgbox rs.fields(1).a Msgbox rs.fiels(1).b Msgbox rs.fields(1).c rs.close conn.close
Łączenie się z arkuszami MS Excel
Wszyscy wiemy, że kiedy otwieramy aplikację Excela, cały plik jest skoroszytem zawierającym arkusze z kolumnami i wierszami, w których umieszczamy dane.
Poniżej znajduje się kod i komentarze, które pomogą Ci zrozumieć, jak to się robi.
‘Create an excel application object Set excelobj = CreateObject(“Excel.Application”) ‘Set it to visible, otherwise it will be visible in the task manager but you will not be able to view it but it continues to work in the background excelobj.visible = true ‘Opens a workbook at the path speficified. If you need to open a new workbook, use excelobj.workbooks.Add excelobj.workbooks.Open(“C:UsersSwatiDesktopQTP est.xls”) ‘Sets the current sheet as i. the sheet number starts from 1 i=1 Set sheet1 = excelobj.activeworkbook.sheets(i) ‘write to a cell in sheet 1. The cell is row 8 column 4, D8. excelobj.activeworkbook.sheets(1).cells(8,4) = “Test QTP Write to cell” ‘To get the data from sheet2 cell ID C6 testretrurnval = excelobj.activeworkbook.sheets(3).cells(6,3) ‘save changes excelobj.activeworkbook.save ‘close the workbook excelobj.activeworkbook.close ‘Close Excel application excelobj.quit ‘Clear memory Set excelobj = nothing
Oprócz powyższych funkcji mamy do dyspozycji następujące, w zależności od potrzeb.
- excelobj.activeworkbook.sheets.add - Aby dodać nowy arkusz
- excelobj.activeworkbook.sheets (i) .delete - Aby usunąć arkusz z indeksem i
- excelobj.activeworkbook.sheeets (i) .name = 'Nazwa do wyboru' - Aby zmienić nazwę arkusza z indeksem i.
- x = excelobj.activeworkbook.sheets.count - aby obliczyć liczbę arkuszy w skoroszycie
- excelobj. activeworkbook.saves „CompletePathWithNewName.xls” - aby zapisać skoroszyt pod nową nazwą
To kończy nie tylko ten artykuł, ale także naszą serię szkoleń QTP. W następnym artykule omówimy kilka ważniejszych Pytania do wywiadu QTP z odpowiedziami . Daj nam znać swoje komentarze i pytania.
=> Odwiedź tutaj, aby zapoznać się z serią samouczków szkoleniowych QTP
Wkrótce więcej przydatnych artykułów i samouczków na temat testowania oprogramowania! Jeśli nie subskrybujesz naszego bezpłatnego biuletynu e-mail, zrób to teraz do klikając tutaj .
rekomendowane lektury
- Samouczki QTP - ponad 25 samouczków szkoleniowych Micro Focus Quick Test Professional (QTP)
- Parametryzacja w QTP (część 2) - samouczek QTP nr 20
- QTP Tutorial # 18 - Objaśnienie struktur opartych na danych i hybrydowych z przykładami QTP
- Parametryzacja w QTP wyjaśniona przykładami (część 1) - samouczek QTP nr 19
- Samouczek QTP nr 6 - Zrozumienie ustawień nagrywania i uruchamiania QTP dla naszego pierwszego testu
- Samouczek QTP nr 24 - Korzystanie z obiektów wirtualnych i scenariuszy odzyskiwania w testach QTP
- Samouczek dotyczący tworzenia bazy danych MongoDB
- Testowanie bazy danych za pomocą narzędzia JMeter