working with soapui properties soapui tutorial 8
Questo tutorial riguarda le proprietà SoapUI. Nell'ultimo tutorial di SoapUI che abbiamo visto come aggiungere proprietà nello script Groovy .
Una proprietà in SAPONE è simile a una variabile / parametro e in questo tutorial parleremo di come utilizzarne uno in una richiesta di servizio e assegnargli un valore di risposta tramite script. Successivamente, passeremo alla fase di test del trasferimento di proprietà e quindi all'importazione delle proprietà.
Questo è l'ottavo tutorial nel nostro SoapUI formazione online serie.
Cosa imparerai da questo tutorial SoapUI?
- Diverse facce delle proprietà
- Integrazione di proprietà nella richiesta di servizio
- Comprensione del test di trasferimento di proprietà
- Carica proprietà esternamente
Ci sono duetipi di proprietà in SoapUI:
- Proprietà predefinite : incluso nell'installazione di SoapUI. Possiamo modificare alcune delle proprietà predefinite ma non tutte.
- Proprietà personalizzate / definite dall'utente : Vengono definiti da noi a qualsiasi livello necessario, come globale, progetto, suite di test, scenario di test o fase di test.
Molto spesso, le proprietà sono abituate archiviare e recuperare i dati durante l'esecuzione dei casi di test. Internamente la proprietà memorizzerà il valore nel formato della coppia di chiavi.
Per esempio , nella dichiarazione seguente, 'Local_Property_FromCurrency' è un nome chiave e 'USD' si riferisce al valore. Per accedere al valore della proprietà, dobbiamo utilizzare il nome della proprietà.
testRunner.testCase.testSteps ('Proprietà'). setPropertyValue
(' Local_Property_FromCurrency ', 'DOLLARO STATUNITENSE' )
Cosa imparerai:
- Vari livelli di proprietà in SoapUI Pro
- Maggiori dettagli sulle proprietà con esempi
- Utilizzo di proprietà nei servizi
- Trasferimento di proprietà
- Conclusione
- Lettura consigliata
Vari livelli di proprietà in SoapUI Pro
Parliamo dei vari livelli di proprietà in SoapUI Pro. In SoapUI sono disponibili tre livelli di proprietà.
Livello 1. Progetto e proprietà personalizzate
In questo livello, le proprietà sono divise in due sezioni. Sono proprietà del progetto e proprietà personalizzate. Questi appariranno nella parte inferiore del pannello di navigazione quando faremo clic sul nome del progetto. La sezione delle proprietà del progetto ha proprietà predefinite che vengono create durante la creazione del progetto, ad esempio Nome, Descrizione, File ecc.
Per creare le nostre proprietà, possiamo utilizzare la scheda delle proprietà personalizzate. Fare clic sull'icona più per creare proprietà:
Sono disponibili molte altre opzioni come rimuovere, spostare in alto, spostare in basso e ordinare accanto ad aggiungere. Qualsiasi numero di proprietà personalizzate può essere aggiunto e utilizzato da qualsiasi sezione (suite di test, casi di test) all'interno del progetto.
Livello 2. Test Suite e proprietà personalizzate
Queste proprietà sono visibili solo nella suite di test. Una suite di test può contenere un numero qualsiasi di proprietà ed è possibile accedervi da qualsiasi fase di test che appartiene a detta suite di test.
Le proprietà della suite di test vengono visualizzate quando si fa clic sul rispettivo nome della suite di test sotto il progetto. Per aggiungere proprietà personalizzate secondo necessità, fare clic sulla scheda delle proprietà personalizzate e fare clic sul segno '+' sotto di essa.
Proprietà n. 3. Scenario di test e proprietà personalizzate
Le proprietà dello scenario di test sono accessibili all'interno dello scenario di test. Non sono accessibili da altri passaggi del caso di test o persino dalla suite di test nell'ambito del progetto.
c ++ riferimento non definito alla funzione di classe
Maggiori dettagli sulle proprietà con esempi
Le proprietà possono memorizzare endpoint, dettagli di accesso, informazioni di intestazione e dominio ecc. Anche se abbiamo discusso della scrittura e della lettura di dati da / verso le proprietà, dobbiamo ancora discutere questo argomento in dettaglio con l'esempio.
I livelli di proprietà sopra discussi vengono utilizzati nello script per leggere i dati.
# 1. Proprietà di lettura:
Vedremo come leggere le proprietà nello script groovy. Per accedere a proprietà di diversi livelli, la seguente è la sintassi:
Progetto: Sintassi: $ {# Nome progetto # Valore}
Esempio:
def pr ojectPro = testRunner.testC per se.testSuite.project.getPropertyValue
('Project_Level_Property')
'Project_Level_Property')
log.info (projectPro)
Suite di test: sintassi: $ {# TestSuite # Value}
Esempio:
def testP ro = testRunner.testCase.testSuite.getPropertyValue ('Testsuite_Property')
log.info (testPro)
Scenario di test: sintassi: $ {# TestCase # Value}
Esempio:
def test casePro = testRunner.testCase.getPropertyValue ('Testcase_Property')
log.info (testcasePro)
Fare riferimento allo screenshot qui sotto:
# 2. Scrivendo alle proprietà:
Per fare questo, dobbiamo usare setPropertyValue metodo.
Sintassi: setPropertyValue ('nome proprietà', 'valore')
Se assegniamo valori a proprietà sconosciute, SoapUI creerà nuovamente queste proprietà. Per gli immobili esistenti riceveranno i valori durante l'assegnazione.
# 3. Rimozione di proprietà tramite script:
Questo può essere fatto facendo clic con il pulsante destro del mouse sul nome della proprietà dal pannello delle proprietà. Quindi fare clic sull'opzione Rimuovi dal menu contestuale.
Per fare ciò utilizzando lo script per rimuovere le proprietà personalizzate, utilizzare le seguenti istruzioni rispettivamente per i livelli di progetto, suite di test o caso di test:
testRunner.testCase.testSuite.project.removeProperty ('Testcase_Property');
testRunner.testCase.testSuite.removeProperty ('Testcase_Property');
testRunner.testCase.removeProperty ('Testcase_Property');
Gli script di cui sopra non sono ottimali quando abbiamo più proprietà in ogni livello poiché questi passaggi devono essere ripetuti più volte per ogni proprietà. Un'alternativa è iterare le proprietà attraverso lo script come di seguito:
testRunner.testCase.properties.each
{
chiave, valore ->
testRunner.testCase.removeProperty (chiave)
}
Lo script sopra verrà ripetuto fino all'ultima proprietà disponibile nel caso di test. ' Chiave 'Fa riferimento al nome della proprietà dove come' valore 'Indica il valore effettivo della proprietà. Possiamo modificare lo script precedente per rimuovere l'elenco delle proprietà in blocco presente in vari livelli.
# 4. Aggiungi proprietà:
AddProperty per questo viene utilizzato il metodo la cui sintassi è:
addProperty (nome proprietà);
Questo può essere adattato per ogni livello come di seguito:
testRunner.testCase.testSuite.project.addProperty ('ProjectProperty1')
testRunner.testCase.testSuite.addProperty ('TestsuiteProperty1')
testRunner.testCase.addProperty ('TestcaseProperty1')
Dopo aver eseguito gli script precedenti, fare clic sul nome del progetto / suite di test / caso di test. Controllare la scheda delle proprietà personalizzate nel pannello delle proprietà e la proprietà creata viene visualizzata qui. Vedi sotto per riferimento:
Utilizzo di proprietà nei servizi
In questa sezione, impareremo come possiamo utilizzare le proprietà nei servizi e useremo gli script precedenti per aggiungere, assegnare e recuperare i dati delle proprietà con il servizio web di conversione di valuta.
Integrazione di proprietà nel servizio:
Cominciamo ad aggiungere passaggi di test come mostrato nello screenshot qui sotto.
Nello screenshot sopra, la fase di test AddProperties_Script contiene il seguente script che aggiunge due proprietà come Property_FromCurrency e Property_ToCurrency .
// Aggiungi proprietà
testRunner.testCase.addProperty ('Property_FromCurrency')
testRunner.testCase.addProperty ('Property_ToCurrency')
// Assegna valori alle proprietà
testRunner.testCase.setPropertyValue ('Property_FromCurrency', 'USD')
testRunner.testCase.setPropertyValue ('Property_ToCurrency', 'INR')
Nel ServiceRequest_CurrencyConverter_1 contiene la richiesta con i parametri di input come mostrato di seguito:
I valori assegnati nelle proprietà verranno trasferiti a questi parametri durante l'esecuzione. Dopo questa fase di prova, GetResponseData_Script passo di prova ha lo script che otterrà il valore di risposta e mostrerà il risultato nel registro. Ecco il copione.
// Ottiene i dati di risposta dal servizio
def risposta = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ’)
def parsedResponse = new XmlSlurper (). parseText (risposta)
String conversionValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (conversionValue)
Una volta che tutti i passaggi sono pronti, fare doppio clic sul nome della suite di test ed eseguire la suite di test. Quindi, fare doppio clic sul file ServiceRequest_CurrencyConverter_1 e vedere la sezione risposta.
Questo è ciò che troveremmo:
- La risposta sarà ricevuta
- Aprire il registro dello script per visualizzare i dati risultanti convertiti in base ai parametri di input
In questo modo possiamo passare i parametri alla richiesta di input e ottenere la risposta tramite lo script utilizzando le proprietà. Andando oltre possiamo anche passare il valore della risposta a un altro servizio come input.
Trasferimento di proprietà
La fase del test di trasferimento della proprietà trasferisce i dati della proprietà da una proprietà all'altra durante l'esecuzione. Vediamo in breve come possiamo creare la fase di test del trasferimento di proprietà e come il valore della proprietà viene trasferito tra due proprietà.
- Fare clic con il tasto destro sul nome dello scenario di test sotto la suite di test
- Clic Aggiungi passaggio quindi fare clic su Proprietà opzione dal menu contestuale
- Ripetere i passaggi precedenti per creare la seconda proprietà. Guarda lo screenshot qui sotto:
- Ora dobbiamo aggiungere il passaggio del test di trasferimento della proprietà.
- Fare clic con il pulsante destro del mouse sul nome del test case e fare clic sull'opzione di trasferimento della proprietà dal menu contestuale
- Immettere il nome del trasferimento di proprietà desiderato e quindi fare clic su OK
- Fare clic su Aggiungi, ad es. Segno più nella barra degli strumenti di trasferimento della proprietà
- Specificare il nome del trasferimento e quindi fare clic sul pulsante OK
- Nel pannello laterale destro sono disponibili due sezioni: Origine e Destinazione.
Scegli la fonte come Proprietà e proprietà come Property_Zipcode . Fai lo stesso nella sezione target. Scegliere Target_Property dalla proprietà a discesa. Quando viene eseguita l'icona, il valore della proprietà verrà trasferito da Property_Zipcode per Target_Property .
(Clicca sull'immagine per ingrandirla)
Vedi il valore trasferito come mostrato nello screenshot qui sotto.
Nota: La proprietà Source deve contenere il valore predefinito.
Oltre a questo, ci sono molte opzioni disponibili nella schermata di trasferimento della proprietà.
- Trasferimento non riuscito in caso di errore
- Trasferisci contenuto di testo
- Trasferisci a tutti
- Autorizza valore / i trasferito / i
- Imposta null su sorgente mancante
- Ignora valori vuoti / mancanti
- Usa XQuery
- Trasferisci nodi figlio
Carica proprietà da origine esterna:
Per caricare le proprietà da un'origine esterna, segui questi passaggi.
- Aggiungi la fase di test delle proprietà sotto lo scenario di test
- Immettere il nome del passaggio della proprietà e quindi fare clic su OK
- Nel pannello delle proprietà sotto il pannello di navigazione, fare clic sulla scheda Proprietà personalizzate
- Clic
icona per caricare le proprietà dal file delle proprietà esterne
Nota: Il file delle proprietà dovrebbe essere salvato o presente sul tuo computer. Per salvare le proprietà fare clic sull'icona.
Quindi, vai alla rispettiva unità e seleziona la proprietà come mostrato di seguito:
Su OK, possiamo vedere le proprietà caricate e i loro valori nella scheda Proprietà personalizzate.
Conclusione
Bene, queste sono proprietà per noi!
Ogni proprietà di livello ha le proprie caratteristiche. Durante la tua pratica SoapUI, prova a includere le proprietà quando possibile con il passaggio di test di script groovy per aggiungere, rimuovere, assegnare e recuperare i dati delle proprietà. Questo non è solo utile quando ti eserciti con i servizi, ma è anche fondamentale per il test di applicazioni reali poiché questa tecnica è molto utile asserisci i tuoi casi di test .
Il trasferimento di proprietà tra i passaggi del test è più semplice che scrivere script ripetuti per crearne di nuovi. SoapUI offre anche la meravigliosa funzionalità per importare ed esportare proprietà. Questa funzione sarà utile quando utilizziamo proprietà comuni come dettagli di accesso, dettagli di sessione ecc. Per più progetti. In questo modo, non dobbiamo creare ripetutamente le stesse proprietà per più progetti. Possiamo semplicemente modificare il valore della proprietà rispetto alle proprietà basate sui progetti.
Prossimo tutorial n.9 : Nel prossimo tutorial SoapUI impareremo Dichiarazioni condizionali in Groovy come:
- Dichiarazioni booleane
- Dichiarazioni di iterazione
- Array in Groovy
Per oggi è tutto. Continua a leggere e ci vediamo nel prossimo tutorial. Per favore condividi le tue domande, commenti ed esperienze di seguito.
Lettura consigliata
- Come utilizzare le proprietà in SoapUI Groovy Script - SoapUI Tutorial # 7
- Come eseguire test basati sui dati in SoapUI Pro - SoapUI Tutorial # 14
- Oltre 15 tutorial SoapUI: il miglior strumento di test delle API dei servizi Web
- Come scrivere script Groovy di base in SoapUI - SoapUi Tutorial # 6
- Tutorial approfonditi su Eclipse per principianti
- 7 Caratteristiche importanti di SoapUI e SoapUI Pro - Tutorial 2
- Capire le asserzioni in SoapUI - SoapUI Tutorial n. 5
- 4 Caratteristiche importanti di SoapUI Pro per Pro Audience - SoapUI Tutorial # 12