JSON Schema Validasiya Postman APİ

Posted on 2022-09-19 03:40:03

Salam, oxuyucularım.

 

Bu məqalədə postman üzərindən sorğuya gələn cavabın Schemasını necə yoxlayırıq onu izah edəcəm. İlk öncə xatırladım ki, bizim youtube kanalımızda Postman APİ Testing mövzusunda videolar paylaşılır. Elə bu məqaləyə aid də bir video artıq paylaşıldı. Lakin oxumağa daha çox üstünlük verənlər üçün burada məqləni də sizinlə paylaşıram.

 

Response Schema Nədir?

Response schema - göndərilən sorğuya gələn cavabın təsviri kimi anlaşılır. Bu məqalədə biz JSON Responsedan danışacağıq. json-schema.org saytına əsasən "JSON Schema is a vocabulary that allows you to annotate and validate JSON documents." - JSON Sxema JSON documentin annotasiyası və uyğunluğunu yoxlamaq üçün yaradılan lüğətdir. Beləliklə bizim JSON formatında gələn cavabın strukturu, daxilində olacaq obyekt və elemntlərin növünü, tipini lüğət kimi müəyyən edilmiş bir dəyərdir. Həmin bu dəyəri biz, müqaisə məqsədi ilə istifadə edirik POSTMAN proqramında.

JSON Schemanın üstünlükləri kimi rəsmi saytında sadalanan:

  •  
  • Mövcud məlumat format(lar)ınızı təsvir edir.
  • İnsan və maşın tərəfindən aydın oxuna bilən sənədlər təqdim edir.
  •  
  • Avtomatlaşdırılmış testlər üçün istifadə olunur.
  • İstifadəçi tərəfindən vəya istifadəçiyə təqdim olunan məlumatların keyfiyyətinin təmin edilməsinə kömək edir.

JSON Schemanı rəsmi mənbədən öyrənmək üçün buraya keçid edə bilərsiniz.

 

P.S. Bizim sponsorumuz yoxdur. Biz sizin dəstəyinizlə aktiv qala bilərik. Maddi dəstək üçün buraya, mənəvi dəstək üçün məqaləni paylaşın və kanala abunə olun.

 

JSON Schemanı necə yaradaq?

Əlbəttə biz özümüz heç bir proqram təminatından istifadə etmədən JSON Schemanı yaza bilərik. Sadəcə proses çox vaxt və diqqət tələb edə bilər. Hal-hazırda mən özüm jsonschema.net saytından istifadə edərək bir çox hallarda rahat və ödənişsiz schemanı yarada bilirəm. Sayt pulsuz olduğuna görə müəyyən bir limiti var, hansı ki çox vaxt helədə problem yaratmır. Limit isə simvol sayı ilə müəyyənliləşdirilib. İstifadəsi isə çox sadədir. Saytın əsas səhifəsinə keçdikdən sonraç "GET STARTED" düyməsinə sıxırsız və sizi lazım olan səhifəyə keçirir. Orada sol tərəfdə gözlənilən cavab yerləşdirilir. Submit etdikdən sonra Schema generasiya olunub sizə sağ tərəfdə təqdim olunur. Aşağıda gördüyünüz şəkil nümunədir.

 

jsonschema.net screenshot

Postmanda JSON Response Schemanı necə istifadə edim?

Nəhayət gəldik məqalənin postman hissəsinə. Əgər bizim əvvəlki dərslərimizə baxmısınızsa, deməli artıq sorğuları necə göndəririk və ilk tesimizi yazmağı bilirsiniz. Baxmamışsınızsa, mütləq şəkildə təcili bunu düzəldin (zarafatdır, sadəcə baxmaq məsləhətdir) . İndi isə ikinci test case yazacağıq. Elə ikinci test case " Schema Validation" adlancaq. Sorğunu göndərmək üçün ayarlanan Headers, Body, Params və s. tablarının biri Test tabıdır. Test tabında ikinci test case yazmaq üçün biz "Paylaşımlar" kolleksiyasından, "Bütün paylaşımların siyahısı" sorğusunu istifadə edəcəyik. Testimizin kodu belə olacaq:

pm.test("Validate Schema"function(){

pm.response.to.have.jsonSchema(schema);

});

Amma .jsonSchema() funksiyasına ötürdüyümüz schema dəyişkənini əvvəlcədən təyin etməliyik. Həmin jsonschema.net saytından aldığımız nəticəni schema dəyişkəninə təyin edirik. 

var schema = {...}
pm.test("Validate Schema"function(){ pm.response.to.have.jsonSchema(schema); });
 
Sadəcə bu cür test yazdığımız halda, gərək "$schema": "https://json-schema.org/draft/2019-09/schema", schemadan silək.
 
 
 
Hələli bu qədər. Diqqətiniz üçün təşəkkür edirəm. Sağ olun.