Postman Klavuz
๐ Akฤฑllฤฑ รzet
Postman Geliลtirme ve test ortamlarฤฑnda verimli API iล akฤฑลฤฑ yรถnetimi iรงin tasarlanmฤฑล รถlรงeklenebilir bir API test aracฤฑdฤฑr. Sorunsuz organizasyon, iล birliฤi ve otomasyon saฤlayarak kritik API test gรถrevlerini eriลilebilir ve tekrarlanabilir hale getirir.
Nedir? Postman?
Postman CI/CD hattฤฑna hฤฑzla entegre olabilen รถlรงeklenebilir bir API test aracฤฑdฤฑr. 2012 yฤฑlฤฑnda Abhinav Asthana tarafฤฑndan test ve geliลtirmede API iล akฤฑลฤฑnฤฑ basitleลtirmek amacฤฑyla bir yan proje olarak baลlatฤฑlmฤฑลtฤฑr. API, Uygulama Programlama Arayรผzรผ anlamฤฑna gelir ve yazฤฑlฤฑm uygulamalarฤฑnฤฑn API รงaฤrฤฑlarฤฑ aracฤฑlฤฑฤฤฑyla birbirleriyle iletiลim kurmasฤฑnฤฑ saฤlar.
๐ รcretsiz Canlฤฑ API Test Projesine Kaydolun
Neden kullan Postman?
Gรผnรผmรผzde 4 milyondan fazla kullanฤฑcฤฑsฤฑ olan Postman Yazฤฑlฤฑm, aลaฤฤฑdaki nedenlerden dolayฤฑ tercih edilen bir araรง haline gelmiลtir:
- Eriลilebilirlik โ Kullanmak iรงin Postman Araรง, kiลinin kendi hesabฤฑna giriล yapmasฤฑ yeterli olacak ve bu sayede dosyalara her zaman, her yerden kolayca eriลilebilecek. Postman uygulama bilgisayara kurulur.
- Koleksiyonlarฤฑn Kullanฤฑmฤฑ โ Postman kullanฤฑcฤฑlarฤฑn kendi koleksiyonlarฤฑ iรงin koleksiyon oluลturmasฤฑna olanak tanฤฑr Postman API รงaฤrฤฑlarฤฑ. Her koleksiyon, alt klasรถrler ve birden fazla istek oluลturabilir. Bu, test paketlerinizi dรผzenlemenize yardฤฑmcฤฑ olur.
- ฤฐล Birliฤi โ Koleksiyonlar ve ortamlar iรงe veya dฤฑลa aktarฤฑlabilir, bรถylece dosya paylaลฤฑmฤฑ kolaylaลฤฑr. Koleksiyonlarฤฑ paylaลmak iรงin doฤrudan bir baฤlantฤฑ da kullanฤฑlabilir.
- Ortam Oluลturma โ Birden fazla ortama sahip olmak, aynฤฑ koleksiyonu farklฤฑ bir ortam iรงin kullanabilmeniz sayesinde test tekrarlarฤฑnฤฑ azaltฤฑr. Parametrelendirme burada devreye girecek ve bunu sonraki derslerde ele alacaฤฤฑz.
- Testlerin Oluลturulmasฤฑ โ Baลarฤฑlฤฑ HTTP yanฤฑt durumunu doฤrulama gibi test kontrol noktalarฤฑ her birine eklenebilir Postman API รงaฤrฤฑlarฤฑ, gรผvenliฤin saฤlanmasฤฑna yardฤฑmcฤฑ olur test kapsamฤฑ.
- Otomasyon Testi โ Collection Runner veya Newman kullanฤฑmฤฑyla testler birden fazla yinelemede รงalฤฑลtฤฑrฤฑlabilir ve tekrarlayan testler iรงin zaman tasarrufu saฤlanฤฑr.
- Hata ayฤฑklama โ Postman Konsol, hangi verilerin alฤฑndฤฑฤฤฑnฤฑ kontrol etmeye yardฤฑmcฤฑ olur ve bรถylece testlerin hata ayฤฑklamasฤฑnฤฑ kolaylaลtฤฑrฤฑr.
- Sรผrekli Entegrasyon โ Sรผrekli entegrasyonu destekleyebilme รถzelliฤi ile geliลtirme uygulamalarฤฑ sรผrdรผrรผlmektedir.
Nasฤฑl kullanฤฑlฤฑr? Postman API'leri yรผrรผtmek iรงin
Aลaฤฤฑda Postman รalฤฑลma Alanฤฑ. Adฤฑm adฤฑm sรผreci inceleyelim Nasฤฑl kullanฤฑlฤฑr? Postman ve farklฤฑ รถzellikleri Postman araรง!
- Yeni โ Burada yeni bir istek, koleksiyon veya ortam oluลturacaksฤฑnฤฑz.
- ฤฐรงe Aktar โ Bu, bir koleksiyon veya ortamฤฑ iรงe aktarmak iรงin kullanฤฑlฤฑr. Dosyadan, klasรถrden, baฤlantฤฑdan iรงe aktarma veya ham metni yapฤฑลtฤฑrma gibi seรงenekler mevcuttur.
- Runner โ Otomasyon testleri Collection Runner aracฤฑlฤฑฤฤฑyla yรผrรผtรผlebilir. Bu konu bir sonraki derste daha detaylฤฑ tartฤฑลฤฑlacaktฤฑr.
- Yeni Aรง โ Yeni bir sekme aรงฤฑn, Postman Bu butona tฤฑklayarak Pencere veya Runner Penceresi'ne ulaลabilirsiniz.
- รalฤฑลma Alanฤฑm โ Bireysel olarak veya ekip olarak yeni bir รงalฤฑลma alanฤฑ oluลturabilirsiniz.
- Davet Et โ Ekip รผyelerini davet ederek bir รงalฤฑลma alanฤฑnda iลbirliฤi yapฤฑn.
- Geรงmiล โ Gรถnderdiฤiniz geรงmiล istekler Geรงmiล'te gรถrรผntรผlenecektir. Bu, yaptฤฑฤฤฑnฤฑz eylemleri izlemeyi kolaylaลtฤฑrฤฑr.
- Koleksiyonlar โ Koleksiyonlar oluลturarak test paketinizi dรผzenleyin. Her koleksiyonun alt klasรถrleri ve birden fazla isteฤi olabilir. Bir istek veya klasรถr de รงoฤaltฤฑlabilir.
- ฤฐstek sekmesi โ Bu, รผzerinde รงalฤฑลtฤฑฤฤฑnฤฑz isteฤin baลlฤฑฤฤฑnฤฑ gรถrรผntรผler. Varsayฤฑlan olarak, baลlฤฑฤฤฑ olmayan istekler iรงin โBaลlฤฑksฤฑz ฤฐstekโ gรถrรผntรผlenecektir.
- HTTP ฤฐsteฤi โ Buna tฤฑklandฤฑฤฤฑnda GET, POST, COPY, DELETE vb. gibi farklฤฑ isteklerin aรงฤฑlฤฑr listesi gรถrรผntรผlenir. Postman API testinde en sฤฑk kullanฤฑlan istekler GET ve POST'tur.
- ฤฐstek URL'si โ Uรง nokta olarak da bilinir, burasฤฑ API'nin iletiลim kuracaฤฤฑ baฤlantฤฑyฤฑ tanฤฑmlayacaฤฤฑnฤฑz yerdir.
- Kaydet โ Bir istekte deฤiลiklik varsa, yeni deฤiลikliklerin kaybolmamasฤฑ veya รผzerine yazฤฑlmamasฤฑ iรงin kaydet seรงeneฤine tฤฑklamak ลarttฤฑr.
- Parametreler โ Buraya bir istek iรงin gereken anahtar deฤerleri gibi parametreleri yazacaksฤฑnฤฑz.
- Yetkilendirme โ API'lere eriลmek iรงin uygun yetkilendirme gereklidir. Bu yetkilendirme, kullanฤฑcฤฑ adฤฑ ve parola, taลฤฑyฤฑcฤฑ token vb. ลeklinde olabilir.
- Baลlฤฑklar โ Kuruluลun ihtiyaรงlarฤฑna baฤlฤฑ olarak iรงerik tรผrรผ JSON gibi baลlฤฑklarฤฑ ayarlayabilirsiniz.
- Gรถvde โ Burasฤฑ bir istekteki ayrฤฑntฤฑlarฤฑn รถzelleลtirilebileceฤi yerdir, genellikle bir POST isteฤinde kullanฤฑlฤฑr.
- รn ฤฐstek Komut Dosyasฤฑ โ Bunlar istekten รถnce yรผrรผtรผlecek komut dosyalarฤฑdฤฑr. Genellikle testlerin doฤru ortamda รงalฤฑลtฤฑrฤฑlmasฤฑnฤฑ saฤlamak iรงin ayar ortamฤฑna yรถnelik รถn istek komut dosyalarฤฑ kullanฤฑlฤฑr.
- Testler โ Bunlar, istek sฤฑrasฤฑnda รงalฤฑลtฤฑrฤฑlan betiklerdir. Yanฤฑt durumunun uygun olup olmadฤฑฤฤฑnฤฑ, alฤฑnan verilerin beklendiฤi gibi olup olmadฤฑฤฤฑnฤฑ ve diฤer testleri doฤrulamak iรงin kontrol noktalarฤฑ oluลturduฤundan, testlerin olmasฤฑ รถnemlidir.
GET ฤฐstekleriyle รalฤฑลmak
Get istekleri, belirtilen URL'den bilgi almak iรงin kullanฤฑlฤฑr. Uรง noktada herhangi bir deฤiลiklik yapฤฑlmayacaktฤฑr.
Bu makaledeki tรผm รถrnekler iรงin aลaฤฤฑdaki URL'yi kullanacaฤฤฑz Postman รถฤretici https://jsonplaceholder.typicode.com/users
รalฤฑลma alanฤฑnda
- HTTP isteฤinizi GET olarak ayarlayฤฑn.
- ฤฐstek URL alanฤฑna baฤlantฤฑyฤฑ girin
- Gรถnder'i tฤฑklayฤฑn
- "200 OK" mesajฤฑnฤฑ gรถreceksiniz
- Testinizin baลarฤฑyla รงalฤฑลtฤฑฤฤฑnฤฑ gรถsteren gรถvdede 10 kullanฤฑcฤฑ sonucu olmalฤฑdฤฑr.
* Not: Get'in kullanฤฑlabileceฤi durumlar olabilir Postman ฤฐstek baลarฤฑsฤฑz olabilir. Geรงersiz bir istek URL'sinden kaynaklanฤฑyor olabilir veya kimlik doฤrulamasฤฑ gerekebilir.
POST ฤฐstekleriyle รalฤฑลmak
Post istekleri, kullanฤฑcฤฑnฤฑn uรง noktaya veri eklemesiyle veri manipรผlasyonu iรงerdiฤinden, Get isteklerinden farklฤฑdฤฑr. รnceki eฤitimde Get isteฤi bรถlรผmรผndeki verileri kullanarak ลimdi kendi kullanฤฑcฤฑmฤฑzฤฑ ekleyelim.
) 1 Adฤฑm Yeni bir istek oluลturmak iรงin yeni bir sekmeye tฤฑklayฤฑn.
) 2 Adฤฑm Yeni sekmede
- HTTP isteฤinizi POST olarak ayarlayฤฑn.
- Aynฤฑ baฤlantฤฑyฤฑ istek URL'sine girin: https://jsonplaceholder.typicode.com/users
- Gรถvde sekmesine geรงin
) 3 Adฤฑm Vรผcutta,
- Ham'ฤฑ tฤฑklayฤฑn
- JSON'u seรงin
) 4 Adฤฑm รnceki get isteฤinden sadece bir kullanฤฑcฤฑ sonucunu kopyalayฤฑp yapฤฑลtฤฑrฤฑn. Kodun eลleลtirilmiล kฤฑvฤฑrcฤฑk parantezler ve kรถลeli parantezler ile doฤru ลekilde kopyalandฤฑฤฤฑndan emin olun. id'yi 11 ve name'i istediฤiniz herhangi bir isimle deฤiลtirin. Adres gibi diฤer ayrฤฑntฤฑlarฤฑ da deฤiลtirebilirsiniz.
[
{
"id": 11,
"name": "Krishna Rungta",
"username": "Bret",
"email": "Sincere@april.biz",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
}
]
* Not: รevrimiรงi Gรถnderi isteฤi, istenen verilerin oluลturulmasฤฑnฤฑ saฤlamak iรงin doฤru biรงime sahip olmalฤฑdฤฑr. ฤฐsteฤin JSON biรงimini kontrol etmek iรงin Get first kullanmak iyi bir uygulamadฤฑr. Bunun iรงin ลu araรงlarฤฑ kullanabilirsiniz: https://jsonformatter.curiousconcept.com/
) 5 Adฤฑm Daha sonra,
- Gรถnder'e tฤฑklayฤฑn.
- Durum: 201 Oluลturuldu gรถrรผntรผlenmeli
- Gรถnderilen veriler gรถvdede gรถrรผnรผyor.
ฤฐstekler Nasฤฑl Parametreleลtirilir?
Veri Parametreleลtirmesi en kullanฤฑลlฤฑ รถzelliklerden biridir. PostmanAynฤฑ istekleri farklฤฑ verilerle oluลturmak yerine, parametreli deฤiลkenler kullanabilirsiniz. Bu veriler bir veri dosyasฤฑndan veya bir ortam deฤiลkeninden gelebilir. Parametrelendirme, aynฤฑ testlerin tekrarlanmasฤฑnฤฑ รถnlemeye yardฤฑmcฤฑ olur ve yinelemeler ลunlar iรงin kullanฤฑlabilir: otomasyon testi.
Parametreler, รงift kฤฑvฤฑrcฤฑk parantezlerin kullanฤฑmฤฑyla oluลturulur: {{sample}}. รnceki isteฤimizde parametrelerin kullanฤฑmฤฑna dair bir รถrneฤe bakalฤฑm:
ลimdi parametreli bir GET isteฤi oluลturalฤฑm.
) 1 Adฤฑm
- HTTP isteฤinizi GET olarak ayarlayฤฑn
- Bu baฤlantฤฑyฤฑ girin: https://jsonplaceholder.typicode.com/users. Baฤlantฤฑnฤฑn ilk kฤฑsmฤฑnฤฑ {{url}} gibi bir parametreyle deฤiลtirin. ฤฐstek URL'si artฤฑk {{url}}/users olmalฤฑdฤฑr.
- Gรถnder'i tฤฑklayฤฑn.
Parametremizin kaynaฤฤฑnฤฑ belirlemediฤimiz iรงin yanฤฑt gelmemesi gerekiyor.
) 2 Adฤฑm Parametreyi kullanmak iรงin ortamฤฑ ayarlamanฤฑz gerekir
- Gรถz simgesini tฤฑklayฤฑn
- Deฤiลkeni tรผm koleksiyonlarda kullanฤฑlabilen global bir ortama ayarlamak iรงin dรผzenle'ye tฤฑklayฤฑn.
) 3 Adฤฑm Deฤiลken olarak,
- adฤฑ https://jsonplaceholder.typicode.com olan URL'ye ayarlayฤฑn
- Kaydet'i tฤฑklayฤฑn.
) 4 Adฤฑm Bir sonraki ekranฤฑ gรถrรผrseniz kapat'ฤฑ tฤฑklayฤฑn
) 5 Adฤฑm ฤฐsteฤinizi alฤฑn bรถlรผmรผne geri dรถnรผn ve ardฤฑndan gรถnder'e tฤฑklayฤฑn. Artฤฑk isteฤinizle ilgili sonuรงlar gรถrรผnรผyor olmalฤฑ.
* Not: Hatalardan kaรงฤฑnmak iรงin parametrelerinizin bir ortam deฤiลkeni veya veri dosyasฤฑ gibi bir kaynaฤa sahip olduฤundan her zaman emin olun.
Nasฤฑl oluลturulurum Postman Testler
Postman Testler Javaฤฐsteklere eklenen ve baลarฤฑlฤฑ veya baลarฤฑsฤฑz durum, beklenen sonuรงlarฤฑn karลฤฑlaลtฤฑrฤฑlmasฤฑ vb. gibi sonuรงlarฤฑ doฤrulamanฤฑza yardฤฑmcฤฑ olan betik kodlarฤฑ. Genellikle pm.test ile baลlar. Diฤer araรงlarda bulunan assert ve doฤrulama komutlarฤฑyla karลฤฑlaลtฤฑrฤฑlabilir.
Biraz temel yapalฤฑm API testi kullanma Postman รnceki dersteki parametreli isteklerimiz iรงin.
) 1 Adฤฑm รnceki eฤitimdeki GET kullanฤฑcฤฑ isteฤinize gidin.
- Testler sekmesine geรงin. Saฤ tarafta snippet kodlarฤฑ var.
- Parรงacฤฑklar bรถlรผmรผnden โDurum kodu: Kod 200โ seรงeneฤine tฤฑklayฤฑn.
Bรถlme otomatik olarak doldurulur
) 2 Adฤฑm ลimdi Gรถnder'e tฤฑklayฤฑn. Test sonucu ลimdi gรถrรผntรผlenmelidir.
) 3 Adฤฑm Test sekmesine geri dรถnรผn ve baลka bir test ekleyelim. Bu sefer beklenen sonucu gerรงek sonuรงla karลฤฑlaลtฤฑracaฤฤฑz.
Parรงacฤฑklar bรถlรผmรผnden โYanฤฑt gรถvdesi:JSON deฤeri kontrolรผโne tฤฑklayฤฑn. Leanne Graham'ฤฑn kullanฤฑcฤฑ kimliฤi 1'e sahip olup olmadฤฑฤฤฑnฤฑ kontrol edeceฤiz.
) 4 Adฤฑm
- Koddaki "Test Adฤฑnฤฑz" kฤฑsmฤฑnฤฑ "Kimliฤi 1 olan kullanฤฑcฤฑnฤฑn Leanne Graham olup olmadฤฑฤฤฑnฤฑ kontrol edin" ile deฤiลtirin, bรถylece test adฤฑ tam olarak neyi test etmek istediฤimizi belirtir.
- jsonData.value deฤerini jsonData[0].name ile deฤiลtirin. Yolu almak iรงin, daha รถnce Sonuรง Al bรถlรผmรผndeki gรถvdeyi kontrol edin. Leanne Graham'ฤฑn kullanฤฑcฤฑ kimliฤi 1 olduฤundan, jsonData ilk sonuรงta yer alฤฑr ve 0 ile baลlamalฤฑdฤฑr. ฤฐkinci sonucu almak istiyorsanฤฑz, sonraki sonuรงlar iรงin jsonData[1] ve benzeri deฤerleri kullanฤฑn.
- Eลitliฤe โLeanne Grahamโ girin
pm.test("Check if user with id1 is Leanne Graham", function () {
var jsonData = pm.response.json();
pm.expect(jsonData[0].name).to.eql("Leanne Graham");
});
) 5 Adฤฑm Gรถnder'i tฤฑklayฤฑn. Artฤฑk isteฤiniz iรงin iki baลarฤฑlฤฑ test sonucu bulunmalฤฑdฤฑr.
* Not: Oluลturulabilecek farklฤฑ tรผrde testler vardฤฑr. Postman. Aracฤฑ keลfetmeye รงalฤฑลฤฑn ve hangi testlerin ihtiyaรงlarฤฑnฤฑza uyacaฤฤฑnฤฑ gรถrรผn.
Koleksiyonlar Nasฤฑl Oluลturulur
Koleksiyonlar, test paketlerinin dรผzenlenmesinde รถnemli bir rol oynar. ฤฐรงe ve dฤฑลa aktarฤฑlabilirler, bu da koleksiyonlarฤฑn ekip iรงinde paylaลฤฑlmasฤฑnฤฑ kolaylaลtฤฑrฤฑr. Bu eฤitimde, bir koleksiyonun nasฤฑl oluลturulup รงalฤฑลtฤฑrฤฑlacaฤฤฑnฤฑ รถฤreneceฤiz.
Bir koleksiyon oluลturmaya baลlayalฤฑm:
) 1 Adฤฑm Sayfanฤฑn sol รผst kรถลesindeki Yeni dรผฤmesine tฤฑklayฤฑn.
) 2 Adฤฑm Koleksiyon'u seรงin. Koleksiyon oluลtur penceresi aรงฤฑlmalฤฑdฤฑr.
) 3 Adฤฑm ฤฐstediฤiniz koleksiyon adฤฑnฤฑ ve aรงฤฑklamasฤฑnฤฑ girin ve ardฤฑndan oluลtur'a tฤฑklayฤฑn. ลimdi bir koleksiyon oluลturulmalฤฑdฤฑr.
) 4 Adฤฑm รnceki Alma isteฤine geri dรถnรผn. Kaydet'i tฤฑklayฤฑn
) 5 Adฤฑm
- Seรง Postman Test Koleksiyonu.
- Kaydet'e tฤฑklayฤฑn Postman Test Koleksiyonu
) 6 Adฤฑm Postman test koleksiyonu artฤฑk bir istek iรงermelidir.
) 7 Adฤฑm รnceki Gรถnderi isteฤi iรงin 4-5. adฤฑmlarฤฑ tekrarlayฤฑn, bรถylece koleksiyon artฤฑk iki isteฤe sahip olur.
Collection Runner'ฤฑ Kullanarak Koleksiyonlarฤฑ รalฤฑลtฤฑrma
Koleksiyon รalฤฑลtฤฑrฤฑcฤฑsฤฑ ve Newman olan bir koleksiyonu รงalฤฑลtฤฑrmanฤฑn iki yolu vardฤฑr. Koleksiyonu Collection Runner'da รงalฤฑลtฤฑrarak baลlayalฤฑm.
) 1 Adฤฑm Sayfanฤฑn รผst kฤฑsmฤฑnda ฤฐรงe Aktar dรผฤmesinin yanฤฑnda bulunan Runner dรผฤmesine tฤฑklayฤฑn.
) 2 Adฤฑm Koleksiyon Koลucusu sayfasฤฑ aลaฤฤฑdaki gibi gรถrรผnmelidir. Aลaฤฤฑda รงeลitli alanlarฤฑn aรงฤฑklamalarฤฑ yer almaktadฤฑr
) 3 Adฤฑm Koล senin Postman Aลaฤฤฑdakileri ayarlayarak Test Toplama iลlemini gerรงekleลtirin:
- Klinik Postman test koleksiyonu - Yinelemeleri 3 olarak ayarla
- Gecikmeyi 2500 ms olarak ayarla
- รalฤฑลtฤฑr'a tฤฑklayฤฑn Postman Test etโฆ dรผฤmesi
) 4 Adฤฑm รalฤฑลtฤฑr butonuna tฤฑklandฤฑktan sonra รalฤฑลtฤฑrma Sonuรงlarฤฑ sayfasฤฑ gรถrรผntรผlenmelidir. Gecikmeye baฤlฤฑ olarak testleri yรผrรผtรผlรผrken gรถrmelisiniz.
- Testler bittiฤinde, Baลarฤฑlฤฑ veya Baลarฤฑsฤฑz olup olmadฤฑฤฤฑnฤฑ test durumunu ve yineleme baลฤฑna sonuรงlarฤฑ gรถrebilirsiniz.
- Alma ฤฐstekleri iรงin Geรงiล durumunu gรถrรผyorsunuz
- Post iรงin herhangi bir testimiz olmadฤฑฤฤฑndan, isteฤin herhangi bir testin bulunmadฤฑฤฤฑna dair bir mesaj olmasฤฑ gerekir.
Baลarฤฑlฤฑ olup olmadฤฑฤฤฑnฤฑ ve verilerin oluลturulduฤunu veya alฤฑndฤฑฤฤฑnฤฑ doฤrulayabilmeniz iรงin isteklerinizde testlerin bulunmasฤฑnฤฑn ne kadar รถnemli olduฤunu gรถrebilirsiniz.
Newman Kullanarak Koleksiyonlar Nasฤฑl รalฤฑลtฤฑrฤฑlฤฑr
Bir koleksiyonu yรถnetmenin bir baลka yolu da Newman'dฤฑr. Newman ve Collection Runner arasฤฑndaki temel farklar ลunlardฤฑr:
- Newman iรงin bir eklentidir Postman. Yerel Uygulamadan ayrฤฑ olarak yรผklemeniz gerekecektir.
- Newman komut satฤฑrฤฑnฤฑ kullanฤฑrken Collection Runner'ฤฑn bir GUI'si var.
- Newman sรผrekli entegrasyon iรงin kullanฤฑlabilir.
Newman'ฤฑ kurmak ve koleksiyonumuzu buradan รงalฤฑลtฤฑrmak iรงin aลaฤฤฑdakileri yapฤฑn:
) 1 Adฤฑm Bu baฤlantฤฑyฤฑ kullanarak nodejs'i yรผkleyin: http://nodejs.org/download/
) 2 Adฤฑm Komut satฤฑrฤฑnฤฑ aรงฤฑn ve girin
npm install -g newman
Newman ลimdi bilgisayarฤฑnฤฑza kurulmalฤฑdฤฑr.
) 3 Adฤฑm Newman kurulduktan sonra geri dรถnelim. Postman workspace.Koleksiyonlar kutusunda, รผรง noktaya tฤฑklayฤฑn. Seรงenekler artฤฑk gรถrรผnmelidir. Dฤฑลa Aktar'ฤฑ seรงin.
) 4 Adฤฑm Koleksiyonu Koleksiyon v2.1 Olarak Dฤฑลa Aktar'ฤฑ (รnerilen) seรงin ve ardฤฑndan Dฤฑลa Aktar'a tฤฑklayฤฑn.
) 5 Adฤฑm ฤฐstediฤiniz konumu seรงin ve ardฤฑndan Kaydet'e tฤฑklayฤฑn. Dosyanฤฑz iรงin รถzel bir klasรถr oluลturmanฤฑz tavsiye edilir. Postman testler. Artฤฑk bir koleksiyon seรงtiฤiniz yerel dizine aktarฤฑlmalฤฑdฤฑr.
) 6 Adฤฑm Ayrฤฑca รงevremizi de ihraรง etmemiz gerekecek. Global'de ortam aรงฤฑlฤฑr menรผsรผnรผn yanฤฑndaki gรถz simgesine tฤฑklayฤฑn ve JSON Olarak ฤฐndir'i seรงin. ฤฐstediฤiniz konumu seรงin ve ardฤฑndan Kaydet'e tฤฑklayฤฑn. Ortamฤฑn koleksiyonunuzla aynฤฑ klasรถrde olmasฤฑ tavsiye edilir.
) 7 Adฤฑm Ortam artฤฑk Koleksiyon ile aynฤฑ yerel dizine aktarฤฑlmalฤฑdฤฑr.
) 8 Adฤฑm ลimdi komut satฤฑrฤฑna geri dรถnรผn ve dizini, koleksiyonu ve ortamฤฑ kaydettiฤiniz yere deฤiลtirin.
cd C:\Users\Asus\Desktop\Postman Tutorial
) 9 Adฤฑm Bu komutu kullanarak koleksiyonunuzu รงalฤฑลtฤฑrฤฑn:
newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json
รalฤฑลtฤฑrma sonuรงlarฤฑ artฤฑk aลaฤฤฑdaki gibi gรถrรผnmelidir.
Kฤฑlavuzda, yรผrรผtme iรงin bazฤฑ temel Newman kodlarฤฑna bir referans verilmiลtir:
- Yalnฤฑzca bir koleksiyonu รงalฤฑลtฤฑrฤฑn. Bu, ortam veya test verileri dosyasฤฑ baฤฤฑmlฤฑlฤฑฤฤฑ yoksa kullanฤฑlabilir.
- Bir koleksiyon ve ortam รงalฤฑลtฤฑrฤฑn. -e gรถstergesi รงevre iรงindir.
- ฤฐstediฤiniz numarayla bir koleksiyon รงalฤฑลtฤฑrฤฑn. yinelemelerden oluลur.
- Veri dosyasฤฑyla รงalฤฑลtฤฑrฤฑn.
- Gecikme sรผresini ayarlayฤฑn. รnceki istek uรง nokta sunucusunda iลlenmeyi tamamlamadan baลlatฤฑlan istekler nedeniyle gecikmeden รงalฤฑลtฤฑrฤฑlฤฑrsa testler baลarฤฑsฤฑz olabileceฤinden bu รถnemlidir.
newman run <collection name>
newman run <collection name> -e <environment name>
newman run <collection name> -n <no.of iterations>
newman run <collection name> --data <file name> -n <no.of iterations> -e <environment name>
newman run <collection name> -d <delay time>
รrettiฤimiz Postman mรผlakat sorularฤฑ kฤฑlavuzu Mรผlakatฤฑ geรงmenize ve yazฤฑlฤฑm testinde hayalinizdeki iลe kavuลmanฤฑza yardฤฑmcฤฑ olacaktฤฑr.
ortak Postman Sorun Giderme Senaryolarฤฑ
- 401 Yetkisiz veya 403 Yasak Hatalarฤฑ
Bu durum, isteฤinizde geรงerli kimlik doฤrulama bilgilerinin bulunmamasฤฑ durumunda gerรงekleลir.
Nasฤฑl dรผzeltilir: Double- Yetkilendirme tรผrรผnรผzรผ (API Anahtarฤฑ, Taลฤฑyฤฑcฤฑ Belirteci veya Temel Yetkilendirme) kontrol edin. Belirteรง kullanฤฑyorsanฤฑz, sรผrelerinin dolmadฤฑฤฤฑndan emin olun. Gerekirse yeni belirteรงler oluลturun veya oturum kimlik bilgilerini yenileyin. - 400 Bad Request
ฤฐstek sรถzdizimi veya parametreleri yanlฤฑล olduฤunda bu hatayฤฑ alฤฑrsฤฑnฤฑz.
Nasฤฑl dรผzeltilir: JSON veya XML gรถvdenizi JSONLint gibi bir biรงimlendirici kullanarak doฤrulayฤฑn. Parametrelerinizin, bรผyรผk/kรผรงรผk harf duyarlฤฑlฤฑฤฤฑ ve veri tรผrรผ de dahil olmak รผzere API'nin beklentileriyle tam olarak eลleลtiฤinden emin olun. - 500 Dahili Sunucu Hatasฤฑ
Bu genellikle arka uรงta oluลan bir sorundur ancak yรผkรผnรผz dรผzgรผn yapฤฑlandฤฑrฤฑlmadฤฑฤฤฑnda da ortaya รงฤฑkabilir.
Nasฤฑl dรผzeltilir: ฤฐsteฤi geรงerli veri biรงimleriyle yeniden deneyin. Revฤฐsteฤi tekrar gรถndermeden รถnce uygun ลema tanฤฑmlarฤฑ iรงin API belgelerini inceleyin. - ฤฐstek Zaman Aลฤฑmฤฑ (408)
Sunucunun yanฤฑt vermesi รงok uzun sรผrdรผฤรผnde ortaya รงฤฑkar.
Nasฤฑl dรผzeltilir: ฤฐnternet baฤlantฤฑnฤฑzฤฑ kontrol edin ve uรง nokta URL'sinin eriลilebilir olduฤunu onaylayฤฑn. Daha kรผรงรผk yรผkler gรถndermeyi deneyin veya zaman aลฤฑmฤฑ ayarฤฑnฤฑ deฤiลtirin. Postman mรผmkรผn ise. - Ortam Deฤiลkenleri รalฤฑลmฤฑyor
Deฤiลkenler tanฤฑmlanmadฤฑฤฤฑnda veya yanlฤฑล kapsamlandฤฑrฤฑldฤฑฤฤฑnda dรผzgรผn รงรถzรผmlenmeyebilir.
Nasฤฑl dรผzeltilir: Tanฤฑmlฤฑ deฤiลkenleri incelemek iรงin ortam seรงicinin yanฤฑndaki gรถz simgesini aรงฤฑn. Doฤru ortamฤฑ (Kรผresel, Ortam veya Koleksiyon) kullandฤฑฤฤฑnฤฑzdan emin olun. - Beklenmedik ลekilde Baลarฤฑsฤฑz Olan Testler
Test komut dosyalarฤฑ beklendiฤi gibi davranmadฤฑฤฤฑnda, bu genellikle bir mantฤฑk veya sรถzdizimi hatasฤฑdฤฑr.
Nasฤฑl dรผzeltilir: Ara sonuรงlarฤฑ yazdฤฑrmak ve betiฤinizi hata ayฤฑklamak iรงin console.log() kullanฤฑn. pm.response.json() kullanarak yanฤฑt verilerine doฤru ลekilde baลvurduฤunuzu doฤrulayฤฑn. - Hatalฤฑ Baลlฤฑklar veya ฤฐรงerik Tรผrรผ
Yanlฤฑล baลlฤฑklar sunucu redlerine veya veri uyumsuzluฤu hatalarฤฑna neden olabilir.
Nasฤฑl dรผzeltilir: JSON verileri gรถnderirken ฤฐรงerik Tรผrรผnรผ her zaman application/json olarak belirtin. Yinelenen veya รงakฤฑลan baลlฤฑklarฤฑ kaldฤฑrฤฑn. - Koleksiyon Koลucusu Test Sonuรงlarฤฑnฤฑ Gรถstermiyor
Bu durum, test betikleriniz pm.test() ifadelerini iรงermediฤinde meydana gelir.
Nasฤฑl dรผzeltilir: ลunlara benzer uygun test komut dosyalarฤฑ ekleyin:pm.test("Status code is 200", function () { pm.response.to.have.status(200); });Bu, Koleksiyon รalฤฑลtฤฑrฤฑcฤฑsฤฑnฤฑn test sonuรงlarฤฑnฤฑ yakalamasฤฑnฤฑ ve raporlamasฤฑnฤฑ saฤlar.
- Newman Testleri รalฤฑลtฤฑrmayฤฑ Baลaramadฤฑ
Newman hata veriyorsa, bunun nedeni yanlฤฑล dosya yollarฤฑ veya gรผncel olmayan sรผrรผmler olabilir.
Nasฤฑl dรผzeltilir: npm install -g newman komutunu รงalฤฑลtฤฑrarak Newman'ฤฑ gรผncelleyin. Koleksiyon ve ortam .json dosyalarฤฑnฤฑn doฤru yollarda mevcut olduฤundan emin olun. - Yavaล Yanฤฑt veya Gecikmeli ฤฐstekler
Aฤฤฑr yรผkler veya arka uรง gecikmeleri testlerinizi yavaลlatabilir.
Nasฤฑl dรผzeltilir: Sayfalandฤฑrma veya daha kรผรงรผk veri kรผmelerini kullanฤฑn. Postman Tepki sรผrelerini รถlรงmek ve yavaล uรง noktalarฤฑ belirlemek iรงin konsol.
Pรผrรผzsรผzlรผk iรงin En ฤฐyi Uygulamalar Postman Test yapmak
1. Ortamlarฤฑ ve Deฤiลkenleri Akฤฑllฤฑca Kullanฤฑn
Geliลtirme, Kalite Gรผvence ve รretim iรงin รถzel ortamlar oluลturun. Temel URL'leri, API anahtarlarฤฑnฤฑ ve belirteรงleri sabit kodlamak yerine deฤiลkenlerde saklayฤฑn. Bu, ortamlar arasฤฑnda geรงiลi sorunsuz hale getirir.
2. Koleksiyonlarฤฑ ve รalฤฑลma Alanlarฤฑnฤฑ Dรผzenleyin
Koleksiyonlarฤฑnฤฑzฤฑ modรผler tutun; istekleri API modรผlรผne gรถre gruplandฤฑrฤฑn. รrneฤin: "Kullanฤฑcฤฑ Yรถnetimi", "Kimlik Doฤrulama" veya "Sipariลler". Daha kolay iล birliฤi iรงin aรงฤฑklayฤฑcฤฑ istek adlarฤฑ kullanฤฑn.
3. Koleksiyonlarฤฑnฤฑzฤฑn Sรผrรผm Kontrolรผ
Koleksiyonlarฤฑnฤฑzฤฑ ลuraya kaydedin: Postman Buluta aktarฤฑn veya Git'e aktarฤฑn. Bu, yedeklemeyi, sรผrรผm takibini ve daha kolay ekip รงalฤฑลmasฤฑnฤฑ garantiler.
4. Net, Kendini Aรงฤฑklayan Testler Yazฤฑn
Test onaylarฤฑnฤฑzฤฑ okunabilir tutun. รrneฤin:
pm.test("Response time is below 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
Bu, testin okunabilirliฤini ve hata ayฤฑklamanฤฑn netliฤini artฤฑrฤฑr.
5. รn Talep Betikleriyle Otomatikleลtirin
ฤฐsteฤi รงalฤฑลtฤฑrmadan รถnce zaman damgalarฤฑ oluลturmak, imzalarฤฑ hesaplamak veya belirteรงleri dinamik olarak almak iรงin รn ฤฐstek Komut Dosyalarฤฑnฤฑ kullanฤฑn. Bu, manuel gรผncellemeleri en aza indirir.
6. API'leri Dรผzenli Olarak ฤฐzleyin
Kurmak Postman Testleri dรผzenli aralฤฑklarla otomatik olarak รงalฤฑลtฤฑrmak iรงin monitรถrler. API'ler bozulduฤunda veya performans dรผลtรผฤรผnde sizi uyarฤฑr.
7. รalฤฑลma Alanฤฑnฤฑ Temiz Tutun
Gรผncel olmayan ortamlarฤฑ, deฤiลkenleri ve koleksiyonlarฤฑ kaldฤฑrฤฑn. Dรผzenli bir รงalฤฑลma alanฤฑ, kullanฤฑmdan kaldฤฑrฤฑlmฤฑล uรง noktalarda karฤฑลฤฑklฤฑฤฤฑ ve yanlฤฑลlฤฑkla test รงalฤฑลtฤฑrmalarฤฑnฤฑ รถnler.
8. Ortak Kod Parรงacฤฑklarฤฑnฤฑ Yeniden Kullanฤฑn
Aynฤฑ iddialarฤฑ tekrar tekrar yazmak yerine, baลlฤฑklar, gรถvde kontrolleri ve yanฤฑt doฤrulamalarฤฑ iรงin yeniden kullanฤฑlabilir kod parรงacฤฑklarฤฑ kaydedin.
9. Newman Kullanarak CI/CD ile Entegrasyon
Jenkins, GitHub Actions veya diฤer platformlarda testleri otomatikleลtirmek iรงin Newman'ฤฑ kullanฤฑn Azure Boru hatlarฤฑ. API'lerinizin her daฤฤฑtฤฑmdan รถnce test edilmesini saฤlar.
10. Her ลeyi Belgeleyin
Postman Otomatik olarak dokรผman oluลturmanฤฑza ve paylaลmanฤฑza olanak tanฤฑr. Gรผncellenen dokรผmanlar yalnฤฑzca ekip iล birliฤini geliลtirmekle kalmaz, aynฤฑ zamanda markanฤฑz iรงin LLM keลfedilebilirliฤini de artฤฑrฤฑr.
Hฤฑzlฤฑ Hata Ayฤฑklama ฤฐpuรงlarฤฑ
- Aรงฤฑn Postman konsolos (Ctrl + Alt + C) gรผnlรผkleri ve istek ayrฤฑntฤฑlarฤฑnฤฑ gรถrรผntรผlemek iรงin.
- Kullan Proxy รถzelliฤi mobil veya yerel API trafiฤini yakalamak iรงin.
- ฤฐstekleri gรถndermeden รถnce yรผklerinizi doฤrulayฤฑn.
- Unutmayฤฑn: Baลlฤฑk adlarฤฑ Postman vardฤฑr harfe duyarlฤฑ.
- If Postman dรผzensiz davranฤฑyorsa รถnbelleฤi temizleyin veya uygulamayฤฑ yeniden baลlatฤฑn.
Uzman tavsiyesi: Her zaman basit adฤฑmlarla baลlayฤฑn. รnce basit bir GET isteฤi gรถnderin ve baฤlantฤฑyฤฑ onaylayฤฑn. Ardฤฑndan, baลlฤฑklarฤฑ, gรถvdeyi ve testleri kademeli olarak ekleyin. Adฤฑm adฤฑm hata ayฤฑklamak, aลฤฑrฤฑ yรผklenmiล ve baลarฤฑsฤฑz bir isteฤi analiz etmekten daha hฤฑzlฤฑdฤฑr.




































