SlideShare a Scribd company logo
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

PDF
Class Diagram
PPTX
Atlassian JIRA
PPSX
Requirement Elicitation
PPT
Introduction to jira
PPT
Lecture04- Use Case Diagrams
PDF
Introduction to Jira Service Management.pdf
PPT
Java Server Faces (JSF) - Basics
PDF
Component diagram
Class Diagram
Atlassian JIRA
Requirement Elicitation
Introduction to jira
Lecture04- Use Case Diagrams
Introduction to Jira Service Management.pdf
Java Server Faces (JSF) - Basics
Component diagram

What's hot (20)

PPTX
Jira Training.pptx
PDF
Api presentation
PDF
Linked to ArrayList: the full story
PDF
How to Enable Change Management with Jira Service Management
PDF
Introduction to API
PPTX
Spring & hibernate
PPTX
Jsp presentation
PPTX
Automation in Jira for beginners
PPTX
Introduction to APIs (Application Programming Interface)
PPTX
Agile_Jira_Presentation_1.pptx
PPT
Introduction To Jira Slide Share
PDF
Introduction to JIRA & Agile Project Management
PPSX
JIRA
PPTX
Feature Toggles
PDF
Jira as a Project Management Tool
PPTX
The Django Web Application Framework 2
PDF
Introduction to JIRA
PDF
Scrum master basics
PPTX
Spring data jpa
PPTX
JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
Jira Training.pptx
Api presentation
Linked to ArrayList: the full story
How to Enable Change Management with Jira Service Management
Introduction to API
Spring & hibernate
Jsp presentation
Automation in Jira for beginners
Introduction to APIs (Application Programming Interface)
Agile_Jira_Presentation_1.pptx
Introduction To Jira Slide Share
Introduction to JIRA & Agile Project Management
JIRA
Feature Toggles
Jira as a Project Management Tool
The Django Web Application Framework 2
Introduction to JIRA
Scrum master basics
Spring data jpa
JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
Ad

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
  • 13. 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