Gå till URL:en nedan. Vad är det du ser? Går det att härleda ur URL:en?
https://damberg.one/digitaltestardy/api/leaderBoard.php
Ur nedanstående URL:er kan du se vilket som är query parameters, vilket är protokoll-information, vad är port, vilken är host, vad är resource-path, vad är inloggningskonto och vad är lösenord?
https://animalbase.com/landbased/fourlegged?name=ferretProtokoll:________________________________
http://acctest.animalbase.com/seabased/fenanimals?name=ferret&color=purpleProtokoll:________________________________
http://animalbase.com:8088/flyers/page?wincount=2&color=blackProtokoll:________________________________
http://admin:dogowner@ver.animalbase.com/earthdiggers/page?name=wormProtokoll:________________________________
ftp://animalbase.com:1414/resources/animallist.jsonProtokoll:________________________________
facetime://contact.animalbase.com/connectProtokoll:________________________________
file://c/temp/output.logProtokoll:________________________________
imap://joda:topsecret@animalbase.com:443/find?subject=hello_worldProtokoll:________________________________
Gå till följande API-övning och utför instruktionerna där.
HTTP headers är meta-information för hur man vill att medsänd information ska tolkas och användas. Det är inte tvingande, men de flesta tjänster hörsammar dem.
MIME-koder skickar information om hur data man sänder in till en REST-tjänst är formatterat, och vilket data-format man önskar sig tillbaka i response.
På motsvarande sätt kan man ange teckentabeller och liknande, men här handlar det t.ex. om formulärdata, XML eller JSON.
Kika på följande XML-fil. Det handlar om en skeppningsorder för vissa böcker.
Om man tar en rad som <orderperson>John Smith</orderperson>
så är 'orderperson' ett elementnamn eller typ. Texten i är dess data.
Första raden berättar att det är ett XML-dokument. Sedan följer element. Förutom elementnamnet finns extrainformation inom hak-klamrarna. Den kallas för attribut. Hittar du något attribut?
Validera XML-filens innehåll så att det verkar stämma. Det kan göras programatiskt eller t.ex. här: https://www.w3schools.com/xml/xml_validator.asp.
Denna typ av validering kontrollerar bara filen mot XML-standarden. Du kommer förmodligen att finna ett fel i filen. Rätta detta fel och spara filen lokalt.
Det finns även information om hur XML ska valideras, men det kommer vi till i nästa övning.
Kika på följande XML-fil. Det handlar om en skeppningsorder för vissa böcker. Sätt dig in i vad det är för typ av information.
Hur vet vi att denna information är korrekt ifylld? Jämför med denna relaterade XSD-fil.
Går det att förstå vad XSD-filen stipulerar?
Surfa fram någon tjänst för "Validate XML against XSD" och prova om XML-filen uppfyller kraven i XSD-filen.
Kolla in Postmans hemsida och ladda ner och installera programmet om du inte redan har det installerat.
Pet store är en REST-tjänst för att adoptera herrelösa husdjur.
Din uppgift är att registrera ett husdjur, kolla så att det ligger registrerat i databasen och därefter ta bort detta husdjur.
Genomförs med valfritt verktyg (t.ex. Postman).
Serien bör bli POST, GET, DELETE. Information om API:et finns på länken nedan.
http://petstore.swagger.io/
Tänk på HTTP headers, verb och body.
Fånga det skapade id:t på djuret och korrelera detta i efterföljande teststeg så att det går att automatisera hela flödet på ett kontinuerligt repetetivt sätt.
I övningen ovanför: Lägg in kontroller av att HTTP statuskod är 200 i samtliga HTTP responses.
Kontrollera även att namnet på husdjuret är rätt, och att status blir det förväntade.
Ser du någonstans utskrivet att 200 betyder OK?
Kika på Swagger-filen för Pet store.
Vilka fält är obligatoriska?
Ser du några likheter med en XSD-fil?
Din uppgift nu är att räkna hur många djur det finns.
Api REST Service: https://petstore.swagger.io/"
Endpoint för test: v2/pet/findByStatus
Metod att använda: getPetsByStatus
Denna övning kan(tm) vara jobbigare
Logga in på Pet store-tjänsten.
User: test
Password: abc123
Du ska nu göra en smärre prestandatest av en REST-tjänst byggd i PHP.
Med JMeter: Skapa ett script som i tre iterationer hämtar data från följande API med två parallella trådar: https://damberg.one/digitaltestardy/api/leaderBoard.php
För C#: Kolla in verktygen på https://docs.microsoft.com/en-us/dotnet/standard/serialization/xml-schema-definition-tool-xsd-exe
För Java: Kolla in https://cxf.apache.org/cxf-xjc-plugin.html
Dessa är verktyg för att, från en XSD-fil, generera upp klass-strukturer för testobjekten. På PRV använde vi t.ex. CDX XSD2JAVA, och på FORA används XSD.exe (med lite handpåläggning) för att generera upp nuget-paket för testdata åt testautomatisering mot Lumera Inca.
Använd JUnit, NUnit, MS Test, Karma eller liknande för att göra om testerna mot Pet Store.
Ibland är XML-filerna enorma - flera GB. Googla på olika text-editorer som kan hantera riktigt stora filer. Notera namnen.
Använd ditt favorit-språk och skriv en egen REST-tjänst för att prova på vilka parametar som går att styra.