Hur man skapar en testsvit och ett testfall i SoapUI

โšก Smart sammanfattning

Skapa ett SoapUI Projekt, Testsvit och Testfall mรถjliggรถr strukturerad SOAP-webbtjรคnsttestning. Denna genomgรฅng fรถrklarar grunderna i SOAP-protokollet, WSDL-import, exekvering av fรถrfrรฅgningar, konfiguration av assertioner och analys av svarsloggar fรถr tillfรถrlitlig funktionell testning och regressionstestning.

  • ๐Ÿง  TVร…L Foundation: SOAP รคr ett XML-baserat, plattformsoberoende protokoll som transporteras via HTTP och som utbyter meddelanden mellan olika system.
  • ๐Ÿ“ Projektskapande: Importera WSDL:en till en ny SoapUI SOAP-projekt fรถr att automatiskt generera exempelfรถrfrรฅgningar fรถr varje operation.
  • ๐Ÿ—‚๏ธ Installation av testsvit: Hรถgerklicka pรฅ projektroten fรถr att lรคgga till en testsvit som grupperar relaterade testfall fรถr organiserad kรถrning.
  • ๐Ÿงช Testfallssteg: Lรคgg till SOAP-fรถrfrรฅgningssteg, vรคlj mรฅlรฅtgรคrd och konfigurera standardpรฅstรฅenden som schemaรถverensstรคmmelse och SOAP-felkontroller.
  • ๐Ÿ“Š Svarsinspektion: Anvรคnd RAW-fliken och loggrutorna (SoapUI Logg, HTTP-logg, fellogg, minneslogg) fรถr att validera HTTP-statuskoder och felsรถka fรถrfrรฅgningar.

Hur man skapar en testsvit och ett testfall i SoapUI

Fรถrstรฅ SOAP-protokollet

Innan du skapar en SoapUI Testfall, det hjรคlper att รฅtergรฅ till grunderna i SOAP-protokollet. En tydlig fรถrstรฅelse fรถr hur SOAP-fรถrfrรฅgningar och svar rรถr sig mellan system gรถr det enklare att anvรคnda. SoapUI fรถr att testa dem effektivt.

SOAP stรฅr fรถr Enkelt objektรฅtkomstprotokollNedan fรถljer SOAP-protokollets kรคrnegenskaper:

  • Det รคr ett XML-baserat protokoll som anvรคnds fรถr att kommunicera mellan tvรฅ olika system.
  • Det รคr plattforms- och sprรฅkoberoende. Ett system utvecklat med hjรคlp av Java kan kommunicera med en som รคr utvecklad i .NET.
  • SOAP-fรถrfrรฅgningar och svar transporteras via HTTP.

Lรคr dig SOAP-meddelandeformatet

Ett SOAP-meddelande รคr ett vanligt XML-dokument som innehรฅller fรถljande element. Ett meddelande kan antingen vara en begรคran eller ett svar.

SOAP Meddelande FORMAT
SOAP-meddelandeformat

Med SOAP-grunderna pรฅ plats รคr nรคsta steg att bygga SoapUI projektstruktur, testsviter och testfall som behรถvs fรถr att validera en given webbtjรคnst. Genomgรฅngen nedan anvรคnder en SoapUI projektexempel fรถr att skapa ett nytt SOAP-projekt.

Skapa ett SOAP-projekt i SoapUI

SOAP-projektet innehรฅller den importerade WSDL-definitionen tillsammans med alla genererade exempelfรถrfrรฅgningar fรถr varje operation.

Steg 1: Beroende pรฅ projekttyp, importera SOAP- eller REST-protokollet. I det hรคr exemplet skapar du ett nytt SOAP-projekt.

Skapa ett nytt SOAP-projekt

Steg 2: Anvรคnd fรถljande SOAP-fรถrfrรฅgan URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. Ange projektnamnet.
  2. Ange sรถkvรคgen fรถr WSDL-begรคran (i det hรคr fallet http://www.dneonline.com/calculator.asmx?wsdl).
  3. Klicka OK.

Ange SOAP-projektnamn och WSDL-sรถkvรคg

Obs:

  • Skapa exempelfรถrfrรฅgan fรถr alla operationer: Genererar en exempelfรถrfrรฅgan fรถr varje operation i WSDL. Aktiveras som standard nรคr WSDL-adressen anges; kan vara avmarkerad om det inte krรคvs.
  • Skapa en testsvit fรถr den importerade WSDL:n: Lรคgger till en SoapUI Testsvit inom projektet fรถr den importerade WSDL:n.
  • Relativa sรถkvรคgar: Sparar alla filer i fรถrhรฅllande till projektfilen fรถr enkel portabilitet.

Steg 3: Efter att SOAP-projektet har skapats med ovanstรฅende WSDL kommer tvรฅ operationer att importeras till projektet.

Importerat SOAP-projekt Operationer

Steg 4: Expandera den fรถrsta begรคran, hรถgerklicka Lรคgg till, Klicka sedan Ny fรถrfrรฅgan.

Lรคgg till ny begรคran i SOAP-projektet

Klicka sedan pรฅ OKSOAP-begรคran visas i XML-format.

SOAP-fรถrfrรฅgan XML-format

  1. Ange vรคrden fรถr intA och intB.
  2. Klicka pรฅ Skicka knapp.
  3. Svars-XML-filen visas i den hรถgra rutan.

Skicka SOAP-fรถrfrรฅgan och visa svar

Varfรถr skapa testfall istรคllet fรถr direkta fรถrfrรฅgningar?

Det รคr mรถjligt att skicka en begรคran fรถr en operation direkt, men den metoden nรฅr snabbt sina grรคnser nรคr flera inmatningskombinationer mรฅste testas. Till exempel krรคver en รถvergรฅng frรฅn 5+5 till 4+4 att begรคran redigeras varje gรฅng. En testsvit med testfall gรถr det mรถjligt att hรฅlla varje scenario รฅteranvรคndbart utan att รคndra den ursprungliga operationen.

Hur man skapar en testsvit i SoapUI

En testsvit รคr en behรฅllare som grupperar relaterade testfall. Fรถlj stegen nedan fรถr att skapa en.

Steg 1) Hรถgerklicka pรฅ projektets rot.

Skapa en testsvit i projektet genom att hรถgerklicka pรฅ projektroten.

Skapa testsvit i SoapUI - Hรถgerklicksprojekt

Steg 2) Ange informationen om testsviten.

Ange testsvitens namn och klicka pรฅ OK.

Ange testsvitens namn

Steg 3) Verifiera den skapade testsviten.

Den nya testsviten visas i navigeringsfรถnstret som visas nedan.

Verifiera skapad testsvit

Steg 4) ร–ppna testsviten.

Fรถnstret Testsvit รถppnas i den hรถgra rutan. Eftersom inga testfall finns รคnnu fรถrblir alla รฅtgรคrdsalternativ inaktiverade.

ร–ppna det tomma testfรถnstret

Hur man skapar ett testfall i SoapUI

Testfall finns inuti en testsvit och grupperar de enskilda teststeg som utfรถr en webbtjรคnst.

Steg 1: Skapa flera tester i en testsvit genom att hรถgerklicka pรฅ testsviten och vรคlja Nytt testfall.

Skapa nytt testfall i SoapUI

Steg 2: Ange namnet pรฅ Testfall och klicka OK.

Ange testfallets namn

Steg 3: Det skapade testfallet har initialt noll steg, som visas nedan.

Testfall med noll steg

Obs: Testfallet lรคggs till med noll teststeg fรถr varje testtyp. Allt eftersom steg lรคggs till uppdateras siffrorna inom parentes automatiskt.

Funktionsteststeg hรถr hemma i Teststeg, prestandasteg gรฅr in i Lasttest, och sรคkerhetskontrollerna lever under Sรคkerhetstest.

Steg 4: Infoga olika typer av teststeg genom att hรถgerklicka Teststeg och vรคlja lรคmpligt alternativ. Fรถr en REST-webbtjรคnst, vรคlj REST-testfรถrfrรฅgan istรคllet fรถr en SOAP-fรถrfrรฅgan.

Infoga teststegstyper

Lรคgga till ett teststeg i SoapUI

Lรคgg till ett teststeg fรถr att validera den importerade SOAP-begรคran i testfallet.

Steg 1: Lรคgg till ett nytt steg av typen SOAP-fรถrfrรฅgan som visas nedan.

Lรคgg till SOAP-fรถrfrรฅgningsteststeg

Steg 2: Ange stegnamnet och klicka pรฅ OK.

Ange teststegets namn

Steg 3: En dialogruta visas dรคr du kan vรคlja vilken รฅtgรคrd som ska anropas. Alla tillgรคngliga รฅtgรคrder listas fรถr val.

  • Mรฅnga operationer visas hรคr. Operationerna รคr identiska fรถrutom SOAP-versionen: CalculatorSoap anvรคnder SOAP version 1.1, medan CalculatorSoap12 anvรคnder SOAP version 1.2.
  • Versionen spelar ingen roll i det hรคr scenariot, sรฅ endera kan vรคljas.

    Vรคlj SOAP Operation att anropa

  • Nรคr du har valt รฅtgรคrden klickar du pรฅ OK.

    Bekrรคfta Operaval av tion

Steg 4: Nรคr man lรคgger till ett testfall kan standardpรฅstรฅenden tillรคmpas. Pรฅstรฅenden, รคven kallade kontrollpunkter eller valideringspunkter, behandlas i nรคsta handledning.

Fรถljande kontrollpunkter kan lรคggas till nรคr ett testfall skapas. Exemplet nedan skapar ett testfall utan aktiverade valideringspunkter.

Standard SoapUI Pรฅstรฅenden

  1. Verifierar om svarsmeddelandet รคr SOAP efter testkรถrningarna.
  2. Verifierar om svarsschemat รคr giltigt.
  3. Verifierar om SOAP-svaret innehรฅller ett FAULT-element.

Steg 5: Nรคr testfallet skapas visas begรคran-XML:en enligt nedan. Strukturen fรถr XML:en fรถrklaras i รถgonblicksbilden.

Begรคr XML-struktur

Steg 6: Teststegsantalet รถkas nu till ett eftersom ett steg har lagts till. Om man lรคgger till belastnings- och sรคkerhetsteststeg รถkas deras respektive rรคknare automatiskt.

Testa stegrรคknarens รถkning

Skicka en fรถrfrรฅgan manuellt och lรคsa svaret i SoapUI

Steg 1: Exemplet nedan adderar tvรฅ heltal.

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

Nรคsta:

  1. Ange dessa indata istรคllet fรถr frรฅgetecknen i begรคrans XML.
  2. Nรคr du har uppdaterat motsvarande XML-taggar klickar du pรฅ Skicka ansรถkan fรถr att kontrollera svaret.

Skicka fรถrfrรฅgan manuellt med intA och intB

Steg 2: Efter att begรคran har skickats in bearbetas webbtjรคnsten av webbservern och svaret returneras, som visas nedan.

Svaret bekrรคftar att 5 plus 5 รคr lika med 10.

SOAP-svar visar additionsresultat

Fรถrstรฅ SOAP-svars- och loggpanelerna

Som tidigare nรคmnts transporteras SOAP-meddelanden via HTTP. Att granska RAW-meddelandena hjรคlper till att klargรถra hur SOAP-begรคran och -svaret รถverfรถrs รถver HTTP.

Steg 1: Klicka pรฅ RAW fliken i SoapUI fรถrfrรฅgningsfรถnstret.

  1. Begรคran skickas till webbservern, sรฅ HTTP POST-metoden anvรคnds.
  2. SOAP-begรคran fรคrdas i HTTP-meddelandets brรถdtext.

SOAP-fรถrfrรฅgan RAW-flik

Steg 2: Klicka nu pรฅ RAW fliken i SoapUI svarsfรถnstret fรถr att fรถrstรฅ hur svaret levereras via HTTP.

  1. Nรคr begรคran har bearbetats visas HTTP-svarskoden (200), vilket indikerar att den har bearbetats.
  2. SOAP-svaret returneras till klienten inuti HTTP-meddelandets brรถdtext.

SOAP Response RAW-flik med HTTP 200

Tabellen nedan sammanfattar vanliga HTTP-svarskoder fรถr snabb felsรถkning.

HTTP Code BESKRIVNING
1xx Informations: Begรคran mottagen, handlรคggningen fortsรคtter.
2xx Framgรฅng: ร…tgรคrd mottagen, fรถrstรฅdd och accepterad.
3xx Omdirigering: Ytterligare รฅtgรคrder krรคvs fรถr att slutfรถra begรคran.
4xx Klientfel: Begรคran innehรฅller felaktig syntax eller kan inte uppfyllas.
5xx Serverfel: Servern misslyckades med att uppfylla en till synes giltig begรคran.

Steg 3: Fรถnstret Testfall visar รคven ytterligare metadata fรถr begรคran och svaret.

Metadata fรถr testfallsfรถnstret

  1. Indikerar att det INGEN header finns i den begรคran som skickas.
  2. Indikerar att det inte finns nรฅgra bilagor i begรคran som skickas till webbservern.
  3. Indikerar 10 rubrikobjekt i svaret, synliga vid klick.
  4. Indikerar att inga bilagor finns i svarsmeddelandet.

Loggrutan

Loggfรถnstret visar all information som utvรคxlats mellan klienten och servern. De vanligaste loggflikarna beskrivs nedan.

SoapUI Flikar i loggfรถnstret

SoapUI Logga: Visar svarsinformation frรฅn webbservern. Samma data lagras i soapui.log-filen inuti SoapUI bin-katalogen.

SoapUI Fliken Logg

HTTP-logg: Visar alla HTTP-paketรถverfรถringar. All information som รคr synlig i RAW-vyn registreras ocksรฅ i HTTP-loggen.

Fliken HTTP-logg

Fellogg: Visar alla fel som uppstรฅtt under hela projektsessionen. Samma information lagras i soapui-errors.log inuti SoapUI bin-katalogen.

Minneslogg: ร–vervakar minnesfรถrbrukningen och visar den som ett diagram. Detta รคr anvรคndbart nรคr du kรถr minnesintensiva operationer.

Fliken Minneslogg

Med en testsvit, ett testfall och ett teststeg pรฅ plats och ett lyckat svar mottaget, รคr nรคsta steg att validera svaret. Pรฅstรฅendetyper behandlas i nรคsta handledning.

Vanliga frรฅgor

En testsvit รคr en behรฅllare som grupperar relaterade testfall inom en SoapUI Projekt. Ett testfall รคr ett enda scenario som innehรฅller ett eller flera teststeg, sรฅsom SOAP-fรถrfrรฅgningar, REST-fรถrfrรฅgningar eller pรฅstรฅenden.

Ja. SoapUI stรถder bรฅde SOAP- och REST-testning. Nรคr du skapar ett nytt projekt vรคljer du Nytt SOAP-projekt fรถr WSDL-baserade tjรคnster eller Nytt REST-projekt fรถr REST API:er. Teststegen inkluderar REST-testfรถrfrรฅgan, JDBC-fรถrfrรฅgan och Groovy Manus.

ร–ppna testsviten och klicka pรฅ den grรถna uppspelningsknappen. SoapUI kรถr alla testfall i den ordning de visas. Du kan ocksรฅ konfigurera parallell eller sekventiell kรถrning under fliken Test Suite Properties.

Ja. Anvรคnd Egenskapssteget, Egenskapsรถverfรถringssteget eller ett Datakรคlla-steg (SoapUI Pro) fรถr att kรถra flera ingรฅngar genom samma testfall. Detta รคr anvรคndbart fรถr datadriven testning รถver mรฅnga ingรฅngskombinationer.

AI-assistenter kan lรคsa en WSDL- eller OpenAPI-specifikation och fรถreslรฅ realistiska inmatningskombinationer, kantfall och pรฅstรฅendemรถnster. Dessa fรถrslag kan exporteras som SoapUI XML eller Groovy skript, vilket minskar manuell anstrรคngning vid byggande av stora testsviter.

Ja. AI-verktyg kan analysera SoapUI Logg- och HTTP-loggposter, klustrar upprepade fel och markerar sannolika grundorsaker som schemaavvikelser eller autentiseringsfel. Detta snabbar upp triage under regressionscykler och stora nattliga kรถrningar.

Sammanfatta detta inlรคgg med: