descriptive programming qtp
In questo tutorial imparerai cos'è la programmazione descrittiva in QTP , e Connessione al database in QTP ovvero come connettersi a fonti di dati esterne come database e fogli MS Excel utilizzando QTP.
La programmazione descrittiva è un meccanismo per la creazione di test in cui si utilizza la 'descrizione programmatica' degli oggetti invece di registrarli.
=> Fare clic qui per la serie di tutorial di formazione QTP
Una breve nota su questa serie di articoli QTP prima di passare ai dettagli di questo tutorial:
Questo è l'ultimo tutorial della nostra serie di formazione QTP online. Spero che vi siano piaciuti questi tutorial e che abbiate iniziato a imparare da loro.
Dacci un feedback:
Sto cercando il tuo feedback non solo per questa serie di tutorial ma per il sito in generale. Per favore clicca qui per condividere i tuoi pensieri su questo sito. Difficilmente ci vorranno un paio di minuti per completare. Apprezziamo i tuoi commenti e suggerimenti. Facci sapere cosa possiamo fare per migliorare la tua esperienza con SoftwareTestingHelp.com
c ++ implementazione di liste doppiamente concatenate
Cosa imparerai:
Programmazione descrittiva in QTP
La programmazione descrittiva è un meccanismo per la creazione di test in cui si utilizza la 'descrizione programmatica' degli oggetti invece di registrarli.
Utilizzando questa tecnica è possibile eseguire la QTP per identificare gli oggetti che non sono nel repository.
Esistono 2 varianti della programmazione descrittiva:
- Programmazione statica descrittiva
- Programmazione descrittiva dinamica
Programmazione descrittiva statica
Un metodo statico è quando si tenta di accedere a un oggetto utilizzando un insieme di proprietà e valori direttamente in un'istruzione VB.
Sintassi: TestObject ('Nome proprietà1: = valore proprietà', 'nome proprietà 2: = valore proprietà',… .n)
Ecco come lo usi:
come riprodurre file .bin
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Programmazione descrittiva dinamica
Funziona creando un oggetto descrizione. Guarda il seguente esempio per creare un oggetto webButton.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass si riferisce alle classi predefinite in QTP. I valori che puoi assegnare possono essere webbutton, weblist ecc.
- In QTP 10 i valori di micClass fanno distinzione tra maiuscole e minuscole, ma in QTP 11 in poi non lo sono. Se scrivi webbutton in QTP 10 fallirà. Dovrai scrivere webButton. Ma lo stesso pulsante web passerà in QTP 11.
È possibile estrarre tutti gli oggetti di una determinata classe in una pagina utilizzando la seguente istruzione:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
Il set di istruzioni sopra riportato estrarrà tutti i pulsanti su una pagina e li memorizzerà nell'oggetto ObjectList.
La versatilità dell'utilizzo della programmazione descrittiva è che queste righe di codice funzioneranno su qualsiasi pagina aperta. Puoi aprire google.com nel tuo browser e conterà quanti pulsanti ci sono su quella pagina. Funzionerà esattamente allo stesso modo se hai amazon.com o qualsiasi altro sito aperto.
Questo perché abbiamo il nome del titolo della pagina impostato su * che è un'espressione regolare.
Quindi puoi vedere come possiamo scrivere codice che può essere utilizzato in più di un'occasione senza codificare i valori delle proprietà e creazione degli oggetti in fase di esecuzione .
Prendiamo il nostro esempio un po 'oltre. Supponiamo che stia cercando di stampare i nomi di tutti i pulsanti web sulla pagina uno dopo l'altro.
Se in una pagina sono presenti 4 pulsanti, è possibile accedere a ciascuno di essi nel modo seguente:
Msgbox ObjectList (0) .GetRoProperty ('name'): stamperà il nome del primo pulsante.
Msgbox ObjectList (1) .GetRoProperty ('nome')
Msgbox ObjectList (2) .GetRoProperty ('nome')
Msgbox ObjectList (3) .GetRoProperty ('nome')
Nota che:
- L'indice degli oggetti figli inizia da 0
- Poiché l'oggetto raggiunge le sue proprietà in fase di esecuzione, utilizziamo il metodo GetRoProperty per recuperare lo stesso.
Possiamo modificare il codice precedente in modo che funzioni per qualsiasi numero di pulsanti nella pagina utilizzando un 'ciclo For' e ripetendo le istruzioni all'interno del 'blocco For' fino a raggiungere la fine del conteggio dell'oggetto.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
Utilizzare un 'ciclo For' è meglio perché in questo caso non è necessario sapere quanti oggetti sono presenti nell'oggetto descrizione.
Un paio di punti da notare:
- Avrai bisogno della pratica per padroneggiare la programmazione descrittiva. Non importa quanti esempi guardi e comprendi, avrai bisogno di esperienza pratica per lavorarci davvero.
- In qualità di tester, non ci si aspetta che tu sappia come gli oggetti sono codificati nel tuo AUT e su quali valori sono impostati. Quindi usa ObjectSpy di tanto in tanto per scegliere le proprietà giuste per visualizzare le proprietà.
- I risultati del test indicheranno che l'oggetto del test è stato creato dinamicamente durante la sessione di esecuzione utilizzando una descrizione di programmazione oi metodi ChildObject.
Connessione a origini dati esterne di uso comune da QTP
Durante la preparazione dei test ci saranno molte istanze che dovrai connettere a un DB esterno o ad altre fonti di dati. Una volta connesso, dovrai anche spostare i dati da e verso queste app a QTP e viceversa.
Sebbene sia oltre lo scopo di questi articoli fornire una guida completa per lavorare con le interfacce esterne, ne esamineremo alcune più comunemente utilizzate.
Connessione al database in QTP
Per connettersi a un database usiamo in genere un oggetto di connessione ADO. ADO è ActiveX Data Objects di Microsoft.
Di seguito sono riportati i passaggi da seguire:
# 1) Crea un DSN. Fare riferimento al tutorial sul punto di controllo del database per vedere come viene fatto o crearne uno dal pannello di controllo.
#Due) Crea un oggetto di connessione:
Imposta conn = CreateObject ('ADODB.connection')
# 3) Crea un oggetto recordset. L'oggetto recordset contiene i risultati della query che stiamo per eseguire.
Imposta rs = CreateObject ('ADODB.RecordSet')
# 4) Apri l'oggetto connessione ed esegui la query:
conn.Open 'DSN = testDB2; UID = swatiseela; pwd = testing @ 123'
rs.Open 'Seleziona * da abc', conn
# 5) È ora possibile accedere a tutti i risultati della query utilizzando l'oggetto 'rs'.
# 6) Ad esempio, se vuoi ottenere il conteggio delle righe restituite, puoi usare
rs.getrows
# 7) Ad esempio, la tabella ha 2 righe e 3 colonne (a, b, c) è possibile accedere ai valori come segue:
Msgbox rs.fields (0) .a
Msgbox rs.fiels (0) .b
Msgbox rs.fields (0) .c
# 8) È possibile utilizzare un'istruzione loop se sono presenti troppi valori a cui accedere.
# 9) Alcune delle funzioni che l'oggetto set di record può utilizzare sono: rs.move, rs.movenext, rs.getrows, rs.close, rs.open, ecc.
Diamo un'occhiata a tutto il codice in una volta:
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
Connessione a fogli MS Excel
Sappiamo tutti che quando apriamo un'applicazione Excel, l'intero file è una cartella di lavoro che ha fogli con colonne e righe in cui inseriamo i dati.
Di seguito è riportato il codice e i commenti per aiutarti a capire come è fatto.
‘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
Oltre alle funzioni di cui sopra, abbiamo le seguenti che possiamo utilizzare a seconda delle tue esigenze.
- excelobj.activeworkbook.sheets.add - Per aggiungere un nuovo foglio
- excelobj.activeworkbook.sheets (i) .delete - Per eliminare un foglio con indice i
- excelobj.activeworkbook.sheeets (i) .name = 'Nome di tua scelta' - Per modificare il nome di un foglio con l'indice i.
- x = excelobj.activeworkbook.sheets.count - per ottenere il conteggio del numero di fogli presenti in una cartella di lavoro
- excelobj. activeworkbook.saves 'CompletePathWithNewName.xls' - per salvare la cartella di lavoro con un nuovo nome
Questo conclude non solo questo articolo ma la nostra serie di formazione QTP. Nel prossimo articolo, tratteremo alcuni più importanti Domande dell'intervista QTP con risposte . Fateci sapere i vostri commenti e domande.
=> Visita qui per la serie di tutorial di formazione QTP
Restate sintonizzati per articoli e tutorial più utili sui test del software! Se non sei iscritto alla nostra newsletter gratuita via e-mail, fallo ora entro cliccando qui .
come aprire un file eps su un pc
Lettura consigliata
- Tutorial QTP - Oltre 25 tutorial di formazione Micro Focus Quick Test Professional (QTP)
- Parametrizzazione in QTP (Parte 2) - Tutorial QTP # 20
- Tutorial QTP n. 18 - Framework basati sui dati e ibridi spiegati con esempi QTP
- Parametrizzazione in QTP spiegata con esempi (Parte 1) - Tutorial QTP # 19
- Tutorial QTP n. 6 - Comprensione del record QTP e delle impostazioni di esecuzione per il nostro primo test
- Tutorial QTP n. 24 - Utilizzo di oggetti virtuali e scenari di ripristino nei test QTP
- Tutorial sulla creazione di database di MongoDB
- Test di database con JMeter