
pm.test עם pm.response ו-to.have.jsonSchema.הטקסט המלא של הדקות הראשונות בהרצאה «בדיקת סכמה בפוסטמן חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הסרטון הקרוב מראה דוגמה לבדיקה שנקראת בדיקת סכמה. בדיקת ג'ייסון סכמה זו בדיקה מאוד חזקה והשימוש בה באוטומציה הוא נרחב ויש לו הרבה הרבה פוטנציאל והרבה יכולות.
אז בואו נלמד מה זה בדיקות סכמה בפוסטמן. קודם כל לג'ייסון לכל ג'ייסון יש סכמה סכמה זה אומר חוקיות של המבנה שלו לדוגמה הג'ייסון שאנחנו מריצים עכשיו על האתר בדיקות שלנו אנחנו מבקשים את כל המוצרים מהדאטאבייז של המערכת.
אתם רואים שאנחנו מקבלים פה מלא מלא אייטמים בתוך מערך שכל אייטם מסמל את הפרטים של מוצר מסוים. אנחנו רואים שלכל אובייקט מידע של מוצר יש שדות, לדוגמה ID, Category, Name ו-Stock.
כל שדה מצורף לו Value, כן, לכל מוצר. כל Value הוא בסוג של נתונים. יש לנו בגדול שלושה סוגי נתונים, מספרים, אתם רואים שזה בלי גרשיים, זה לא String, ויש לנו גם String בתוך גרשיים, יש לנו איזושהי מילה או מידע אלפא-נומרי.
יש לנו גם סוג שלישי של ערך בוליאני, true או false. אנחנו צריכים לוודא שהסכמה של המערכת הזאתי, של המידע שמתקבל מהשר"ט, הוא נכון. איך אנחנו עושים את זה?
אנחנו צריכים להפוך את ה-JSON שהתקבל לאיזשהו מסמך או אובייקט מסוג סכמה, שבעצם אומרת שבמידע שאמור להגיע מהמערכת אמורים להופיע שדות ID, קטגורי ניים אינסטוק זה השדות חובה וכל המידע לפי החוקיות הזאת איי-די הוא מספר קטגורי הוא סטרינג ניים הוא סטרינג ואינסטוק זה בוליאני true או false איך אנחנו יוצרים את האובייקט
הזה מסוג סכמה יש לנו שתי דרכים ואנחנו נראה את שתיהן אז בואו נראה את השיטה הראשונה אז אני הולך לגוגל ואני אומר אונליין וורט ג'ייסון אני לוחץ על האישור ומקבל תוצאות של אתרים שנותנים את השירות הזה זה של המראה אני אוהב את האתר הזה רדוק לי ואני לוחץ עליו אני מעתיק מהפוסטמיין את המידע שיתקבל מהשרת ומה שהוא יעשה האתר הוא מצפה
שאני אעתיק את ה-JSON לצד אחד והוא אומר אני מעביר את זה פה לפורמט JSON יש איזה פורמט YAML אני מעביר את זה לפורמט JSON וזה הפורמט שאני צריך זה פורמט של JSON שנקרא JSON סכימה בסדר אז טייפ אריי אייטמס טייפ אובג'קט ויש לנו פה פרופרטיז איי-די, הטייפ זה אינטיג'ר, זה באמת מספרי, אנחנו רואים.
קטגורי זה סטרינג, אנחנו רואים באמת שזה סטרינג. אינסטוק זה בוליאן, אנחנו רואים באמת שזה בוליאן. אז יש לנו את כל השדות וכל החוקיות, ובסוף יש לנו additional properties falls.
אז את זה אנחנו יכולים להעתיק ולחזור לפוסטמנט שלנו. לפני כן, אני רוצה להראות לכם איך לעשות את אותה פעולה בכלי AI. לדוגמה, אני בודק בעזרת co-pilot, אז אני קופיילוט, זה הכלי AI של מייקרוסופט, ואני מבקש מהכלי AI convert following JSON to schema, ומעתיק את ה-JSON שלי, סכמה, אני רוצה להעתיק את ה-JSON שלי,
ואני מבקש שהוא יאמיר לי, והוא אכן ממיר לי לסכמה שאני צריך, בסדר? אז זה הפורמט של JSON סכמה, איך שהכלי AI, כל כלי AI יכול בקלות להמיר כל JSON ל-JSON סכמה.
אז אני מעתיק את זה, וחוזר לפוסטמן. פוסטמן אני צריך ללכת לסקריפט פוסט רספונס ולראות איך אני מבצע בדיקת סכמה אז אין לי משהו ספציפי שאני יכול להשתמש בו בסניפטס ולכן אני אלך לאלפט של פוסטמן כדי לחפש דוגמה