descriptive programming qtp
Bu eğitimde öğreneceksiniz QTP'de Tanımlayıcı Programlama nedir , ve QTP'de veritabanı bağlantısı ör. QTP kullanarak veritabanı ve MS Excel sayfaları gibi harici veri kaynaklarına nasıl bağlanılacağı.
Açıklayıcı programlama, nesneleri kaydetmek yerine 'Programlı açıklamayı' kullandığınız testler oluşturma mekanizmasıdır.
=> QTP Training Tutorials Series İçin Buraya Tıklayın
Bu eğiticinin ayrıntılarına geçmeden önce bu QTP makale dizisi hakkında hızlı bir not:
Bu, çevrimiçi QTP eğitim serimizdeki son öğreticidir. Umarım hepiniz bu eğitimlerden keyif almışsınızdır ve onlardan öğrenmeye başlamışsınızdır.
Bize geri bildirimde bulunun:
Sadece bu eğitim dizisi için değil, sitenin tamamı hakkında görüşlerinizi bekliyorum. Lütfen düşüncelerinizi paylaşmak için burayı tıklayın bu web sitesi hakkında. Tamamlanması neredeyse birkaç dakika sürecektir. Görüş ve önerilerinize değer veriyoruz. SoftwareTestingHelp.com deneyiminizi iyileştirmek için neler yapabileceğimizi bize bildirin
torrent dosyaları nasıl açılır mac
Ne öğreneceksin:
QTP'de Tanımlayıcı Programlama
Açıklayıcı programlama, nesneleri kaydetmek yerine 'Programlı açıklamayı' kullandığınız testler oluşturma mekanizmasıdır.
Bu tekniği kullanarak, depoda olmayan nesneleri tanımlamak için QTP yapılabilir.
Tanımlayıcı Programlamanın 2 çeşidi vardır:
- Statik Açıklayıcı programlama
- Dinamik Açıklayıcı programlama
Statik Tanımlayıcı Programlama
Statik yöntem, bir nesneye doğrudan bir VB deyiminde bir dizi özellik ve değer kullanarak erişmeye çalıştığınız zamandır.
Sözdizimi: TestObject ('Özellik adı1: = özellik değeri', 'özellik adı 2: = özellik değeri',… .n)
Bunu nasıl kullanıyorsun:
c ++ tarih ve saat
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Dinamik Tanımlayıcı Programlama
Bu, bir açıklama nesnesi oluşturarak çalışır. Bir webButton nesnesi oluşturmak için aşağıdaki örneğe bakın.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass, QTP'de önceden tanımlanmış sınıfları ifade eder. Atayabileceğiniz değerler web düğmesi, web listesi vb. Olabilir.
- QTP 10 micClass'da değerler büyük / küçük harfe duyarlıdır, ancak QTP 11'den itibaren değildir. QTP 10'da web butonu yazarsanız başarısız olur. WebButton yazmanız gerekecek. Ancak aynı web düğmesi QTP 11'de geçecektir.
Aşağıdaki ifadeyi kullanarak bir sayfadaki belirli bir sınıfın tüm nesnelerini çıkarabilirsiniz:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
Yukarıdaki ifade kümesi, bir sayfadaki tüm düğmeleri çıkaracak ve bunları ObjectList nesnesinde saklayacaktır.
Açıklayıcı programlamayı kullanmanın çok yönlülüğü, bu kod satırlarının herhangi bir açık sayfada çalışacak olmasıdır. Tarayıcınızda google.com'u açabilirsiniz ve o sayfada kaç tane düğme olduğunu sayar. Amazon.com veya başka bir siteniz açıksa, tam olarak aynı şekilde çalışacaktır.
Bunun nedeni, sayfanın başlığının adının normal bir ifade olan * olarak ayarlanmış olmasıdır.
Böylece, birden fazla durumda kullanılabilecek bir kodu, özellik değerlerini sabit kodlamadan nasıl yazabileceğimizi görebilirsiniz. çalışma zamanında nesneleri oluşturma .
Örneğimizi biraz daha ileriye götürelim. Sayfadaki tüm web düğmelerinin adlarını ardı ardına yazdırmaya çalıştığımı varsayalım.
Bir sayfada 4 düğme varsa, her birine aşağıdaki şekilde erişebilirsiniz:
Msgbox ObjectList (0) .GetRoProperty (“name”) –Bu, ilk düğmenin adını yazdıracaktır.
Msgbox ObjectList (1) .GetRoProperty ('ad')
Msgbox ObjectList (2) .GetRoProperty ('ad')
Msgbox ObjectList (3) .GetRoProperty ('ad')
Bunu not et:
- Alt nesnelerin dizini 0'dan başlar
- Nesne özelliklerini çalışma zamanında elde ettiğinden, aynısını almak için GetRoProperty yöntemini kullanıyoruz.
Yukarıdaki kodu, bir 'For döngüsü' kullanarak ve nesne sayımının sonuna ulaşıncaya kadar 'For block' içindeki ifadeleri tekrarlayarak sayfadaki herhangi bir sayıda Button için çalışacak şekilde değiştirebiliriz.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
'For döngüsü' kullanmak daha iyidir çünkü bu durumda açıklama nesnenizde kaç tane nesne olduğunu bilmenize gerek yoktur.
Dikkat edilmesi gereken birkaç nokta:
- Tanımlayıcı programlamada ustalaşmak için pratiğe ihtiyacınız olacak. Kaç örneğe bakıp anladığınız önemli değil, onunla gerçekten çalışmak için uygulamalı deneyime ihtiyacınız olacak.
- Bir test cihazı olarak, nesnelerin AUT'nize nasıl kodlandığını ve hangi değerlere ayarlandığını bilmeniz beklenmez. Bu nedenle, özellikleri görüntülemek üzere doğru özellikleri seçmek için zaman zaman ObjectSpy kullanın.
- Test sonuçları, test nesnesinin çalıştırma oturumu sırasında bir programlama açıklaması veya ChildObject yöntemleri kullanılarak dinamik olarak oluşturulduğunu gösterecektir.
QTP'den Yaygın Olarak Kullanılan Dış Veri Kaynaklarına Bağlanma
Testleri hazırlarken, harici bir DB'ye veya diğer bazı veri kaynaklarına bağlanmanız gerekecek birçok örnek olacaktır. Bağlandıktan sonra, verileri bu uygulamalardan QTP'ye veya QTP'ye taşımanız gerekir.
Harici arayüzlerle çalışmak için eksiksiz bir kılavuz sağlamak bu makalelerin kapsamı dışında olsa da, en sık kullanılan birkaçını inceleyeceğiz.
canlı bir ağ kablosunda sorun giderirken ne kullanmalısınız?
QTP'de Veritabanı Bağlantısı
Bir veritabanına bağlanmak için genellikle bir ADO bağlantı nesnesi kullanırız. ADO, Microsoft’un ActiveX Veri Nesneleridir.
Takip edilecek adımlar aşağıdadır:
# 1) Bir DSN oluşturun. Bunun nasıl yapıldığını görmek için lütfen veritabanı kontrol noktası eğitimine bakın veya kontrol panelinden bir tane oluşturun.
#iki) Bir bağlantı nesnesi oluşturun:
Conn = CreateObject ('ADODB.connection') ayarla
# 3) Bir kayıt kümesi nesnesi oluşturun. Kayıt kümesi nesnesi, çalıştıracağımız sorgunun sonuçlarını tutar.
Rs = CreateObject ('ADODB.RecordSet') ayarlayın
# 4) Bağlantı nesnesini açın ve sorguyu çalıştırın:
conn.Open 'DSN = testDB2; UID = swatiseela; pwd = test @ 123'
rs. 'abc'den * seç' i açın, bağl
# 5) Artık tüm sorgu sonuçlarına 'rs' nesnesi kullanılarak erişilebilir.
# 6) Örneğin, döndürülen satırların sayısını almak istiyorsanız, şunu kullanabilirsiniz:
rs.getrows
# 7) Örneğin, tabloda 2 satır ve 3 sütun (a, b, c) vardır, değerlere aşağıdaki gibi erişebilirsiniz:
Msgbox rs.fields (0) .a
Msgbox rs.fiels (0) .b
Msgbox rs.fields (0) .c
# 8) Erişilecek çok fazla değer varsa, bir döngü ifadesi kullanabilirsiniz.
# 9) Kayıt kümesi nesnesinin kullanabileceği işlevlerden bazıları şunlardır: rs.move, rs.movenext, rs.getrows, rs.close, rs.open vb.
Tek seferde tüm koda bakalım:
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
MS Excel Sayfalarına Bağlanma
Hepimiz biliyoruz ki, bir excel uygulaması açtığımızda, tüm dosya, verileri koyduğumuz sütun ve satırların bulunduğu sayfalara sahip bir çalışma kitabıdır.
Aşağıda, nasıl yapıldığını anlamanıza yardımcı olacak kod ve açıklamalar yer almaktadır.
‘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
Yukarıdaki fonksiyonların dışında, ihtiyaçlarınıza göre kullanabileceğimiz aşağıdaki fonksiyonlara sahibiz.
- excelobj.activeworkbook.sheets.add - Yeni bir sayfa eklemek için
- excelobj.activeworkbook.sheets (i) .delete - İ dizinli bir sayfayı silmek için
- excelobj.activeworkbook.sheeets (i) .name = 'Seçtiğiniz ad' - İ dizinli bir sayfanın adını değiştirmek için.
- x = excelobj.activeworkbook.sheets.count - bir çalışma kitabında kaç sayfa olduğunu öğrenmek için
- excelobj. activeworkbook.saves 'CompletePathWithNewName.xls' - çalışma kitabını yeni bir adla kaydetmek için
Bu sadece bu makaleyi değil, QTP eğitim serimizi de bitiriyor. Bir sonraki makalede, daha önemli bazı konulara değineceğiz. Cevaplı QTP mülakat soruları . Lütfen yorumlarınızı ve sorularınızı bize bildirin.
=> QTP Training Tutorials Series İçin Burayı Ziyaret Edin
Yazılım testiyle ilgili daha yararlı makaleler ve eğitimler için bizi izlemeye devam edin! Ücretsiz e-posta bültenimize abone değilseniz, lütfen şimdi yapın burayı tıklayın .
Önerilen Kaynaklar
- QTP Öğreticileri - 25+ Micro Focus Hızlı Test Uzmanı (QTP) Eğitim Öğreticileri
- QTP'de parametrelendirme (Bölüm 2) - QTP Eğitimi # 20
- QTP Eğitimi # 18 - QTP Örnekleriyle Açıklanan Veriye Dayalı ve Karma Çerçeveler
- Örneklerle Açıklanan QTP'de parametrelendirme (Bölüm 1) - QTP Eğitimi # 19
- QTP Eğitimi # 6 - İlk Testimiz için QTP Kaydını ve Çalıştırma Ayarlarını Anlamak
- QTP Eğitimi # 24 - QTP Testlerinde Sanal Nesneleri ve Kurtarma Senaryolarını Kullanma
- MongoDB Veritabanı Oluşturma Eğitimi
- JMeter ile Veritabanı Testi