Come creare Test Suite e Test Case in SoapUI

โšก Riepilogo intelligente

Creazione di un SoapUI Progetto, Suite di test e Caso di test consentono di eseguire test strutturati sui servizi web SOAP. Questa guida illustra i fondamenti del protocollo SOAP, l'importazione del WSDL, l'esecuzione delle richieste, la configurazione delle asserzioni e l'analisi dei log di risposta per test funzionali e di regressione affidabili.

  • ๐Ÿง  SOAP Foundation: SOAP รจ un protocollo basato su XML, indipendente dalla piattaforma, che viaggia su HTTP e permette lo scambio di messaggi tra sistemi eterogenei.
  • ๐Ÿ“ Creazione del progetto: Importa il WSDL in un nuovo SoapUI Progetto SOAP per generare automaticamente richieste di esempio per ogni operazione.
  • ๐Ÿ—‚๏ธ Configurazione della suite di test: Fai clic con il pulsante destro del mouse sulla radice del progetto per aggiungere una suite di test che raggruppa i casi di test correlati per un'esecuzione organizzata.
  • ๐Ÿงช Passaggi del caso di test: Aggiungi i passaggi della richiesta SOAP, scegli l'operazione di destinazione e configura le asserzioni standard come la conformitร  dello schema e i controlli di errore SOAP.
  • ๐Ÿ“Š Ispezione di risposta: Utilizzare la scheda RAW e i riquadri Log (SoapUI Registri (Log, Log HTTP, Log degli errori, Log della memoria) per convalidare i codici di stato HTTP e risolvere i problemi relativi alle richieste.

Come creare una suite di test e un caso di test in SoapUI

Comprendere il protocollo SOAP

Prima di creare un SoapUI Caso di test, aiuta a rivedere le basi del protocollo SOAP. Una chiara comprensione di come le richieste e le risposte SOAP si muovono tra i sistemi rende piรน facile l'utilizzo SoapUI per testarli efficacemente.

SAPONE sta per Protocollo di accesso semplice agli oggettiDi seguito sono riportate le proprietร  principali del protocollo SOAP:

  • Si tratta di un protocollo basato su XML utilizzato per la comunicazione tra due sistemi diversi.
  • รˆ indipendente dalla piattaforma e dal linguaggio. Un sistema sviluppato utilizzando Java puรฒ comunicare con uno sviluppato in .NET.
  • Le richieste e le risposte SOAP vengono trasportate tramite HTTP.

Impara il formato dei messaggi SOAP

Un messaggio SOAP รจ un normale documento XML contenente i seguenti elementi. Un messaggio puรฒ essere una richiesta o una risposta.

FORMATO messaggio SOAP
Formato del messaggio SOAP

Con i fondamenti SOAP stabiliti, il passo successivo รจ costruire il SoapUI struttura del progetto, suite di test e casi di test necessari per convalidare un dato servizio web. La procedura guidata seguente utilizza un SoapUI Esempio di progetto per la creazione di un nuovo progetto SOAP.

Creazione di un progetto SOAP in SoapUI

Il progetto SOAP contiene la definizione WSDL importata insieme a tutte le richieste di esempio generate per ciascuna operazione.

Passo 1: A seconda del tipo di progetto, importa il protocollo SOAP o REST. In questo esempio, crea un nuovo progetto SOAP.

Creazione di un nuovo progetto SOAP

Passo 2: Utilizzare la seguente richiesta SOAP URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. Inserisci il nome del progetto.
  2. Inserisci il percorso della richiesta WSDL (in questo caso, http://www.dneonline.com/calculator.asmx?wsdl).
  3. Clicchi OK.

Inserisci il nome del progetto SOAP e il percorso WSDL

Nota:

  • Crea una richiesta di esempio per tutte le operazioni: Genera una richiesta di esempio per ogni operazione nel file WSDL. Attivata per impostazione predefinita quando viene inserito l'indirizzo WSDL; puรฒ essere deselezionata se non necessaria.
  • Crea una suite di test per il file WSDL importato: Aggiunge un SoapUI Suite di test all'interno del progetto per il WSDL importato.
  • Percorsi relativi: Salva tutti i file in relazione al file di progetto per una facile portabilitร .

Passo 3: Dopo aver creato il progetto SOAP con il WSDL sopra indicato, due operazioni verranno importate nel progetto.

Progetto SOAP importato Operazioni

Passo 4: Espandere la prima richiesta, fare clic con il pulsante destro del mouse Aggiungi, quindi fare clic Nuova richiesta.

Aggiungi una nuova richiesta al progetto SOAP

Quindi fare clic su OKLa richiesta SOAP viene visualizzata in formato XML.

Formato XML della richiesta SOAP

  1. Immettere i valori per intA and intB.
  2. Clicca su Invio pulsante.
  3. La risposta in formato XML viene visualizzata nel riquadro di destra.

Invia richiesta SOAP e visualizza la risposta

Perchรฉ creare casi di test invece di effettuare richieste dirette?

รˆ possibile inviare una richiesta per una singola operazione direttamente, ma questo approccio presenta rapidamente dei limiti quando รจ necessario testare piรน combinazioni di input. Ad esempio, passare da 5+5 a 4+4 richiede la modifica della richiesta ogni volta. Una suite di test con casi di test consente di mantenere ogni scenario riutilizzabile senza alterare l'operazione originale.

Come creare una suite di test in SoapUI

Una suite di test รจ un contenitore che raggruppa casi di test correlati. Segui i passaggi seguenti per crearne una.

Passaggio 1) Fare clic con il pulsante destro del mouse sulla directory principale del progetto.

All'interno del progetto, crea una suite di test facendo clic con il pulsante destro del mouse sulla directory principale del progetto.

Crea la suite di test in SoapUI - Progetto clic destro

Passaggio 2) Inserire i dettagli della suite di test.

Inserisci il nome della suite di test e fai clic OK.

Inserisci il nome della suite di test

Passaggio 3) Verificare la suite di test creata.

La nuova suite di test viene visualizzata nel riquadro di navigazione, come mostrato di seguito.

Verifica la suite di test creata

Passaggio 4) Aprire la suite di test.

La finestra della suite di test si apre nel riquadro di destra. Poichรฉ non esistono ancora casi di test, tutte le opzioni di azione rimangono disabilitate.

Apri la finestra della suite di test vuota

Come creare un caso di test in SoapUI

I casi di test risiedono all'interno di una suite di test e raggruppano le singole fasi di test che verificano un servizio web.

Passo 1: All'interno di una suite di test, crea piรน test facendo clic con il pulsante destro del mouse sulla suite di test e scegliendo Nuovo caso di test.

Crea un nuovo caso di test in SoapUI

Passo 2: Specificare il nome del Test Case e fare clic su OK.

Inserisci il nome del caso di test

Passo 3: Il caso di test creato inizialmente non ha passaggi, come mostrato di seguito.

Caso di test senza passaggi

Nota: Il caso di test viene aggiunto con zero passaggi di test per ogni tipo di test. Man mano che vengono aggiunti i passaggi, i numeri tra parentesi si aggiornano automaticamente.

Le fasi di test funzionale appartengono a Passaggi di prova, le fasi di esecuzione vanno in Test di caricoe i controlli di sicurezza vivono sotto Test di sicurezza.

Passo 4: Inserisci diversi tipi di passaggi di test facendo clic con il pulsante destro del mouse Passaggi di prova e selezionando l'opzione appropriata. Per un servizio web REST, selezionare la richiesta di test REST anzichรฉ una richiesta SOAP.

Inserisci i tipi di passaggio del test

Aggiunta di un passaggio di test in SoapUI

Aggiungi un passaggio di test per convalidare la richiesta SOAP importata all'interno del caso di test.

Passo 1: Aggiungi un nuovo passaggio di tipo Richiesta SOAP come mostrato di seguito.

Aggiungi il passaggio di test della richiesta SOAP

Passo 2: Inserisci il nome del passaggio e fai clic OK.

Inserisci il nome del passaggio di test

Passo 3: Viene visualizzata una finestra di dialogo per selezionare l'operazione da avviare. Tutte le operazioni disponibili sono elencate tra cui scegliere.

  • Qui compaiono numerose operazioni. Le operazioni sono identiche a eccezione della versione SOAP: CalculatorSoap utilizza la versione SOAP 1.1, mentre CalculatorSoap12 utilizza la versione SOAP 1.2.
  • In questo caso la versione non ha importanza, quindi รจ possibile selezionarne una qualsiasi.

    Seleziona SOAP Operazione da invocare

  • Dopo aver selezionato l'operazione, fare clic OK.

    Confermare OperaSelezione zione

Passo 4: Durante l'aggiunta di un caso di test, รจ possibile applicare asserzioni standard. Le asserzioni, chiamate anche checkpoint o punti di validazione, saranno trattate nel tutorial successivo.

Durante la creazione di un caso di test รจ possibile aggiungere i seguenti punti di controllo. L'esempio seguente crea un caso di test senza punti di convalida abilitati.

Standard SoapUI Asserzioni

  1. Verifica se il messaggio di risposta รจ in formato SOAP al termine dell'esecuzione del test.
  2. Verifica se lo schema di risposta รจ valido.
  3. Verifica se la risposta SOAP contiene un elemento FAULT.

Passo 5: Quando viene creato il caso di test, la richiesta XML appare come mostrato di seguito. La struttura dell'XML รจ illustrata nell'immagine.

Struttura XML della richiesta

Passo 6: Il conteggio dei passaggi del test รจ stato incrementato a uno perchรฉ รจ stato aggiunto un passaggio. L'aggiunta di passaggi di test di carico e di sicurezza incrementerร  automaticamente i rispettivi contatori.

Incremento del contatore dei passaggi di prova

Invio manuale della richiesta e lettura della risposta in SoapUI

Passo 1: L'esempio seguente somma due numeri interi.

  • intA โ€” 5
  • intB โ€” 5

Avanti:

  1. Inserisci questi input al posto dei punti interrogativi nel file XML della richiesta.
  2. Dopo aver aggiornato i tag XML corrispondenti, fai clic Invia richiesta per verificare la risposta.

Invio manuale della richiesta con intA e intB

Passo 2: Dopo l'invio della richiesta, il servizio web viene elaborato dal server web e viene restituita la risposta, come mostrato di seguito.

La risposta conferma che 5 piรน 5 fa 10.

Risposta SOAP che mostra il risultato dell'aggiunta

Comprensione dei pannelli di risposta SOAP e di registro

Come giร  accennato, i messaggi SOAP vengono trasmessi tramite HTTP. L'analisi dei messaggi RAW aiuta a chiarire come la richiesta e la risposta SOAP vengono gestite tramite HTTP.

Passo 1: Clicca su RAW linguetta nella SoapUI finestra di richiesta.

  1. La richiesta viene inviata al server web, quindi viene utilizzato il metodo HTTP POST.
  2. La richiesta SOAP viaggia all'interno del corpo del messaggio HTTP.

Scheda RAW della richiesta SOAP

Passo 2: Ora fai clic sul RAW linguetta nella SoapUI finestra di risposta per capire come viene recapitata la risposta tramite HTTP.

  1. Una volta elaborata la richiesta, viene visualizzato il codice di risposta HTTP (200), che indica l'esito positivo.
  2. La risposta SOAP viene restituita al client all'interno del corpo del messaggio HTTP.

Scheda RAW della risposta SOAP con HTTP 200

La tabella seguente riassume i codici di risposta HTTP piรน comuni per una rapida risoluzione dei problemi.

HTTP Code Descrizione
1xx Informativo: Richiesta ricevuta, l'elaborazione prosegue.
2xx Successo: Azione ricevuta, compresa e accettata con successo.
3xx Reindirizzamento: Sono necessarie ulteriori azioni per completare la richiesta.
4xx Errore del client: La richiesta contiene una sintassi errata o non puรฒ essere soddisfatta.
5xx Errore del server: Il server non รจ riuscito a soddisfare una richiesta apparentemente valida.

Passo 3: La finestra del caso di test visualizza anche metadati aggiuntivi relativi alla richiesta e alla risposta.

Metadati della finestra del caso di test

  1. Indica che non รจ presente alcuna intestazione nella richiesta inviata.
  2. Indica che NON sono presenti allegati nella richiesta inviata al server web.
  3. Indica i 10 elementi di intestazione nella risposta, visualizzabili al clic.
  4. Indica che non sono presenti allegati nel messaggio di risposta.

Riquadro dei registri

Il riquadro dei log mostra tutte le informazioni scambiate tra client e server. Le schede di log piรน utilizzate sono descritte di seguito.

SoapUI Schede del riquadro dei registri

SoapUI Log: Visualizza le informazioni di risposta dal server web. Gli stessi dati vengono memorizzati nel file soapui.log all'interno del SoapUI directory bin.

SoapUI Scheda di registro

Registro HTTP: Visualizza tutti i trasferimenti di pacchetti HTTP. Tutte le informazioni visibili nella vista RAW vengono acquisite anche nel registro HTTP.

Scheda di registro HTTP

Registro degli errori: Visualizza tutti gli errori riscontrati durante l'intera sessione del progetto. Le stesse informazioni sono memorizzate in soapui-errors.log all'interno del SoapUI directory bin.

Registro di memoria: Monitora il consumo di memoria e lo visualizza sotto forma di grafico. Questo รจ utile quando si eseguono operazioni che richiedono un elevato utilizzo di memoria.

Scheda Registro memoria

Una volta definiti una suite di test, un caso di test e una fase di test, e ricevuta una risposta positiva, il passo successivo consiste nella convalida della risposta. I tipi di asserzione saranno trattati nel prossimo tutorial.

DOMANDE FREQUENTI

Una suite di test รจ un contenitore che raggruppa casi di test correlati all'interno di un SoapUI Progetto. Un caso di test รจ un singolo scenario che contiene uno o piรน passaggi di test, come ad esempio richieste SOAP, richieste REST o asserzioni.

Sรฌ. Le serrature scorrevoli portatili e i catenacci a superficie possono essere usati per mettere in sicurezza una porta a scomparsa dall'esterno. Alcuni kit con catena di sicurezza consentono anche il bloccaggio esterno con chiave o manopola girevole. SoapUI supporta sia i test SOAP che REST. Quando crei un nuovo progetto, scegli Nuovo progetto SOAP per i servizi basati su WSDL o Nuovo progetto REST per le API REST. I passaggi di test includono Richiesta di test REST, Richiesta JDBC e Groovy Script.

Apri la suite di test e fai clic sul pulsante verde "Avvia". SoapUI Esegue tutti i casi di test nell'ordine in cui appaiono. รˆ inoltre possibile configurare l'esecuzione parallela o sequenziale nella scheda Proprietร  della suite di test.

Sรฌ. Utilizzare il passaggio Proprietร , il passaggio Trasferimento proprietร  o un passaggio Origine dati (SoapUI Pro) per gestire piรน input attraverso lo stesso caso di test. Questo รจ utile per i test basati sui dati su molte combinazioni di input.

Gli assistenti IA possono leggere una specifica WSDL o OpenAPI e suggerire combinazioni di input realistiche, casi limite e modelli di asserzione. Questi suggerimenti possono essere esportati come SoapUI XML o Groovy script, riducendo lo sforzo manuale durante la creazione di grandi suite di test.

Sรฌ. Gli strumenti di IA possono analizzare SoapUI Le voci del log e del log HTTP raggruppano gli errori ripetuti ed evidenziano le probabili cause principali, come le incongruenze dello schema o gli errori di autenticazione. Ciรฒ velocizza la fase di triage durante i cicli di regressione e le esecuzioni notturne di grandi dimensioni.

Riassumi questo post con: