SlideShare a Scribd company logo
1 of 13
SoapUI ile REST API Testi
Fırat Üniversitesi
Yazılım Mühendisliği
YMT543 Yazılım Kalite Güvencesi ve Testi
13542506 Tuncer Ergin
SOAP (Simple Object Access Protocol) uygulamalar ile web servislerin bilgi
aktarımını sağlayan XML tabanlı bir protokoldür.
Yani web servise giden bilgi XML olarak gönderilir, web servis bu bilgiyi yorumlar ve
sonucunu XML olarak geri döndürür.
SOAP tabanlı bir web servisin, gönderilen XML verisini nasıl yorumlayacağının
tanımlanması gerekir.
Bu web servis tanımlaması WSDL standardı ile yapılır.
Soap Nedir?
REST (Representational state transfer) mimarisinde işlemler resource kavramıyla yapılır.
 Resource URI ile tanımlanır ve bir metod tanımlaması veya bir değişken olabilir.
REST’te SOAP’ta olduğu gibi XML yardımıyla metodlar çağırılmaz bunun yerine o metodu
çağıracak URIler ile web servise HTTP protokolüyle istek yapılır.
REST için WSDL gibi bir tanımlama diline ihtiyaç kalmaz işlemler tamamen HTTP
metodları üzerinden yapılır.
Örneğin, bir web servisin metodunu SOAP ile “getCurrentWeather” şeklinde çağırırken
REST ile “/current.json? key=<ApiKey>&q=Elazig″ URI’si ile çağırabiliriz.
REST JSON, XML, TXT, HTML gibi istenen veri türünde değer döndürülebilir.
REST API Nedir?
REST API Çalışma Mantığı
https://api.apixu.com/v1/current.json?
key=<ApiKey>&q=Elazig
{ "location": {
"name": "Elazig",
"region": "Elazig",
"country": "Turkey",
"lat": 38.68,
"lon": 39.22,
"tz_id": "Europe/Istanbul",
"localtime_epoch": 1512922222,
"localtime": "2017-12-10 19:10"
}
}
İstemci
HTTP Post Server
REST Interface
200 OK: Genelde veri listeleme sonuçları 200 ile dönüş yapılır.
201 CREATED: Veri eklendiği zaman verinin kendisi ile 201 dönülür
204 NO CONTENT: Veri silindiği zaman 204 dönülür.
400 BAD REQUEST: Genel olarak kayıt ekleme ya da güncelleme isteklerinde gönderilen veri validasyondan
geçemediyse neden geçemediği hakkında bilgiyle beraber 400 HTTP Statusuyla dönülür.
401 Unauthorized: Api ucunuzda bu işlemi yapmak için login olmak zorunlu ise ve API’ye istek yapan kullanıcı
login değilse bu HTTP Status ile cevap verilir.
403 Forbidden: Yetkiye dayalı bir işlem yapılıyorsa bu API uç noktasında işlem yapmaya çalışan kişinin bu işlemi
yapmaya yetkisi yoksa 403 status kodu döner.
404 Not Found: Kullanıcının istek yaptığı URL yok ise ya da URL deki veri geçersiz ise bu hatayı alırız.
405 Method Not Allowed: İstek yapılan API uç noktası gönderilen metodu implemente etmemiş ise bu HTTP
Statusunu alırız. Örneğin login olması için token verdiğimiz bir API ucumuz var ve bu uçta sadece POST isteğini kabul
ediyor. Kullanıcı bu API URL’ine GET isteği yaparsa 405 statusu döner.
 429 Too Many Requests: Saatlik ya da dakikalık kısıtlanan sınırdan fazla istek yapıldığında alırız.
REST API Hataları
Gruplanmış Bakış Açısıyla HTTP Statusları;
Bilgilendirme – 1xx
Başarılı İşlem – 2xx
Yönlendirmek – 3xx
Kullanıcı Taraflı hata – 4xx
Server Taraflı hata – 5xx
Şeklinde ifade edebiliriz.
REST API Hataları
 SOAP UI;
o web servislerini kontrol etmek,
o herhangi bir web servisini çağırmak,
o web servisi simule etmek,
o fonksiyonel test yapmak için kullanılır.
Özellikle web servis entegrasyonlarında fazlasıyla iş görmektedir.
Java ile geliştirilmesi nedeniyle her platform için bir pakete sahiptir.
İndirmek için: www.soapui.org/downloads/soapui.html
SoapUI Nedir?
 Hava durumu sağlayıcısı olan www.apixu.com sitesinin REST API’sini test edelim.
SoapUI ile RESTful API Testi
1
2
3
SoapUI ile RESTful API Testi
1
2  Tüm bilgiler doğru
girildiğinde 200 OK
bilgisi geri gönderilir
SoapUI ile RESTful API Testi
2  Query kısmındaki
şehir bilgisi yanlış
girilirse
400 Bad Request
hatası alınır.
1
SoapUI ile RESTful API Testi
2  Api key yanlış girilirse
401 Unauthorized
hatası alınır.
1
SoapUI ile RESTful API Testi
2  URL yanlış veya eksik
404 Not Found
hatası alınır.
1
Kaynaklar
 http://yazilimgelistirmeyontemleri.blogspot.com.tr/2015/06/rest-nedir-soap-ile-arasndaki-farklar.html
 http://www.obenplus.com/blog/rest-api-nedir-nasil-kullanilir/
 https://www.soapui.org/rest-testing/getting-started.html
 http://osmansoylemez.com/?p=207
 https://www.apixu.com

More Related Content

What's hot

Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsSteven Li
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - CoreDzmitry Naskou
 
API Test Automation Tips and Tricks
API Test Automation Tips and TricksAPI Test Automation Tips and Tricks
API Test Automation Tips and Trickstesthive
 
ORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADEORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADEDinesh Gupta
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서Kim kyoung-song
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberKnoldus Inc.
 
REST-API overview / concepts
REST-API overview / conceptsREST-API overview / concepts
REST-API overview / conceptsPatrick Savalle
 
Oracle Webcenter Suite Overview
Oracle Webcenter Suite OverviewOracle Webcenter Suite Overview
Oracle Webcenter Suite OverviewEslam Hafez
 

What's hot (20)

Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
 
API Test Automation Tips and Tricks
API Test Automation Tips and TricksAPI Test Automation Tips and Tricks
API Test Automation Tips and Tricks
 
Api Testing
Api TestingApi Testing
Api Testing
 
Laravel Unit Testing
Laravel Unit TestingLaravel Unit Testing
Laravel Unit Testing
 
ORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADEORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADE
 
Spring boot
Spring bootSpring boot
Spring boot
 
API Testing
API TestingAPI Testing
API Testing
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Introduction To REST
Introduction To RESTIntroduction To REST
Introduction To REST
 
Testing microservices with rest assured
Testing microservices with rest assuredTesting microservices with rest assured
Testing microservices with rest assured
 
Rest api-basic
Rest api-basicRest api-basic
Rest api-basic
 
사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
 
REST-API overview / concepts
REST-API overview / conceptsREST-API overview / concepts
REST-API overview / concepts
 
Rest assured
Rest assuredRest assured
Rest assured
 
Java Spring Framework
Java Spring FrameworkJava Spring Framework
Java Spring Framework
 
Oracle Webcenter Suite Overview
Oracle Webcenter Suite OverviewOracle Webcenter Suite Overview
Oracle Webcenter Suite Overview
 
Frontend
FrontendFrontend
Frontend
 
Rest API
Rest APIRest API
Rest API
 

Similar to SoapUI ile Rest Api Testi

REST yoluyla Web Servis Geliştirme
REST yoluyla Web Servis GeliştirmeREST yoluyla Web Servis Geliştirme
REST yoluyla Web Servis Geliştirmeemirkarsiyakali
 
Java scriptxmlhttprequest
Java scriptxmlhttprequestJava scriptxmlhttprequest
Java scriptxmlhttprequestMZeki Osmancık
 
Siber Güvenlik ve Etik Hacking Sunu - 11
Siber Güvenlik ve Etik Hacking Sunu - 11Siber Güvenlik ve Etik Hacking Sunu - 11
Siber Güvenlik ve Etik Hacking Sunu - 11Murat KARA
 
HTTPKullaniciAsillamaveYetkilendirme.ppt
HTTPKullaniciAsillamaveYetkilendirme.pptHTTPKullaniciAsillamaveYetkilendirme.ppt
HTTPKullaniciAsillamaveYetkilendirme.pptCenkKAYA9
 

Similar to SoapUI ile Rest Api Testi (6)

REST yoluyla Web Servis Geliştirme
REST yoluyla Web Servis GeliştirmeREST yoluyla Web Servis Geliştirme
REST yoluyla Web Servis Geliştirme
 
Web service
Web serviceWeb service
Web service
 
Java scriptxmlhttprequest
Java scriptxmlhttprequestJava scriptxmlhttprequest
Java scriptxmlhttprequest
 
Siber Güvenlik ve Etik Hacking Sunu - 11
Siber Güvenlik ve Etik Hacking Sunu - 11Siber Güvenlik ve Etik Hacking Sunu - 11
Siber Güvenlik ve Etik Hacking Sunu - 11
 
HTTPKullaniciAsillamaveYetkilendirme.ppt
HTTPKullaniciAsillamaveYetkilendirme.pptHTTPKullaniciAsillamaveYetkilendirme.ppt
HTTPKullaniciAsillamaveYetkilendirme.ppt
 
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirmeWeb uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
 

SoapUI ile Rest Api Testi

  • 1. SoapUI ile REST API Testi Fırat Üniversitesi Yazılım Mühendisliği YMT543 Yazılım Kalite Güvencesi ve Testi 13542506 Tuncer Ergin
  • 2. SOAP (Simple Object Access Protocol) uygulamalar ile web servislerin bilgi aktarımını sağlayan XML tabanlı bir protokoldür. Yani web servise giden bilgi XML olarak gönderilir, web servis bu bilgiyi yorumlar ve sonucunu XML olarak geri döndürür. SOAP tabanlı bir web servisin, gönderilen XML verisini nasıl yorumlayacağının tanımlanması gerekir. Bu web servis tanımlaması WSDL standardı ile yapılır. Soap Nedir?
  • 3. REST (Representational state transfer) mimarisinde işlemler resource kavramıyla yapılır.  Resource URI ile tanımlanır ve bir metod tanımlaması veya bir değişken olabilir. REST’te SOAP’ta olduğu gibi XML yardımıyla metodlar çağırılmaz bunun yerine o metodu çağıracak URIler ile web servise HTTP protokolüyle istek yapılır. REST için WSDL gibi bir tanımlama diline ihtiyaç kalmaz işlemler tamamen HTTP metodları üzerinden yapılır. Örneğin, bir web servisin metodunu SOAP ile “getCurrentWeather” şeklinde çağırırken REST ile “/current.json? key=<ApiKey>&q=Elazig″ URI’si ile çağırabiliriz. REST JSON, XML, TXT, HTML gibi istenen veri türünde değer döndürülebilir. REST API Nedir?
  • 4. REST API Çalışma Mantığı https://api.apixu.com/v1/current.json? key=<ApiKey>&q=Elazig { "location": { "name": "Elazig", "region": "Elazig", "country": "Turkey", "lat": 38.68, "lon": 39.22, "tz_id": "Europe/Istanbul", "localtime_epoch": 1512922222, "localtime": "2017-12-10 19:10" } } İstemci HTTP Post Server REST Interface
  • 5. 200 OK: Genelde veri listeleme sonuçları 200 ile dönüş yapılır. 201 CREATED: Veri eklendiği zaman verinin kendisi ile 201 dönülür 204 NO CONTENT: Veri silindiği zaman 204 dönülür. 400 BAD REQUEST: Genel olarak kayıt ekleme ya da güncelleme isteklerinde gönderilen veri validasyondan geçemediyse neden geçemediği hakkında bilgiyle beraber 400 HTTP Statusuyla dönülür. 401 Unauthorized: Api ucunuzda bu işlemi yapmak için login olmak zorunlu ise ve API’ye istek yapan kullanıcı login değilse bu HTTP Status ile cevap verilir. 403 Forbidden: Yetkiye dayalı bir işlem yapılıyorsa bu API uç noktasında işlem yapmaya çalışan kişinin bu işlemi yapmaya yetkisi yoksa 403 status kodu döner. 404 Not Found: Kullanıcının istek yaptığı URL yok ise ya da URL deki veri geçersiz ise bu hatayı alırız. 405 Method Not Allowed: İstek yapılan API uç noktası gönderilen metodu implemente etmemiş ise bu HTTP Statusunu alırız. Örneğin login olması için token verdiğimiz bir API ucumuz var ve bu uçta sadece POST isteğini kabul ediyor. Kullanıcı bu API URL’ine GET isteği yaparsa 405 statusu döner.  429 Too Many Requests: Saatlik ya da dakikalık kısıtlanan sınırdan fazla istek yapıldığında alırız. REST API Hataları
  • 6. Gruplanmış Bakış Açısıyla HTTP Statusları; Bilgilendirme – 1xx Başarılı İşlem – 2xx Yönlendirmek – 3xx Kullanıcı Taraflı hata – 4xx Server Taraflı hata – 5xx Şeklinde ifade edebiliriz. REST API Hataları
  • 7.  SOAP UI; o web servislerini kontrol etmek, o herhangi bir web servisini çağırmak, o web servisi simule etmek, o fonksiyonel test yapmak için kullanılır. Özellikle web servis entegrasyonlarında fazlasıyla iş görmektedir. Java ile geliştirilmesi nedeniyle her platform için bir pakete sahiptir. İndirmek için: www.soapui.org/downloads/soapui.html SoapUI Nedir?
  • 8.  Hava durumu sağlayıcısı olan www.apixu.com sitesinin REST API’sini test edelim. SoapUI ile RESTful API Testi 1 2 3
  • 9. SoapUI ile RESTful API Testi 1 2  Tüm bilgiler doğru girildiğinde 200 OK bilgisi geri gönderilir
  • 10. SoapUI ile RESTful API Testi 2  Query kısmındaki şehir bilgisi yanlış girilirse 400 Bad Request hatası alınır. 1
  • 11. SoapUI ile RESTful API Testi 2  Api key yanlış girilirse 401 Unauthorized hatası alınır. 1
  • 12. SoapUI ile RESTful API Testi 2  URL yanlış veya eksik 404 Not Found hatası alınır. 1