PracticU

בדיקת סכמה בפוסטמן
חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API › בדיקת סכמה בפוסטמן חלק 1
מילון מושגים:
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
Postman - כלי לבדיקת API: שליחת בקשות HTTP לשרת ובחינת התגובות, נפוץ בפיתוח ובבדיקות.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
בוליאני - סוג נתונים שיכול לקבל אחד משני ערכים בלבד: אמת (true) או שקר (false).
בינה מלאכותית - תחום במדעי המחשב שעוסק בבניית מערכות המסוגלות לבצע משימות הדורשות בדרך כלל אינטליגנציה אנושית.
תגובה - המידע שהשרת מחזיר ללקוח בתשובה לבקשה, הכולל בדרך כלל נתונים וקוד סטטוס.
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
Integer - סוג נתונים למספר שלם, כלומר מספר ללא חלק עשרוני.

בדיקת סכמה בפוסטמן חלק 1
בדיקת סכמה בודקת שכל התשובה שמגיעה מהשרת עומדת בחוקיות המבנה של ה-JSON: אילו שדות חייבים להופיע ומאיזה סוג כל אחד. בחלק הראשון רואים איך מכינים סכמה ומריצים אותה ב-Postman.
איך זה עובד
1. מהי סכמה: לכל JSON יש חוקיות של מבנה. בבקשה שמחזירה את כל המוצרים מתקבל מערך, וכל פריט הוא מוצר עם שדות id, category, name ו-instock. ערך יכול להיות מספר (בלי גרשיים), מחרוזת (בגרשיים) או ערך בוליאני, true או false.
2. מה רוצים לבדוק: שהשדות id, category, name ו-instock חובה, ש-id הוא מספר, category ו-name מחרוזות, ו-instock בוליאני.
3. דרך ראשונה, ממיר אונליין: מחפשים בגוגל online JSON to schema, מעתיקים לאתר את ה-JSON מ-Postman ומעבירים לפורמט JSON schema. מתקבל type של array, items מסוג object, properties עם סוג לכל שדה, ובסוף additional properties false.
4. דרך שנייה, כלי AI: מבקשים מכלי כמו Copilot convert following JSON to schema ומדביקים את ה-JSON. הכלי מחזיר סכמה באותו פורמט.
5. הוספה ל-Postman: בלשונית Post-response script אין קטע מוכן בסניפטים, אז מחפשים בגוגל דוגמה לבדיקת סכמה בתיעוד של Postman ומעתיקים אותה. שמים את הסכמה במשתנה, מסיימים בנקודה ופסיק, ומשתמשים ב-pm.test עם pm.response ו-to.have.jsonSchema.
6. בדיקה שהיא באמת עובדת: Save and Send נותן 1 מתוך 1. כדי לוודא, משנים את סוג ה-id למחרוזת והבדיקה נכשלת בשלב Schema validation. מחזירים ל-integer והיא עוברת.
שימו לב
בדיקת הסכמה עוברת על כל המוצרים שב-body ומוודאת שכולם בפורמט הנכון, בדיקה חזקה ופשוטה בהרבה מבדיקת שדות אחד אחד.
אחרי ההרצאה אפשר ליצור סכמה מ-JSON אמיתי ולהריץ אותה כבדיקה על כל תשובת השרת.
השיעור הבא בקורס: בדיקת סכמה בפוסטמן חלק 2

פרקי ההרצאה: בדיקת סכמה בפוסטמן חלק 1

  1. 00:00

    מהי בדיקת סכמה ב-JSON

  2. 00:37

    שדות וסוגי נתונים במוצר

  3. 01:13

    המרת JSON לאובייקט סכמה

  4. 01:49

    יצירת סכמה באתר המרה אונליין

  5. 02:45

    יצירת סכמה בעזרת כלי AI

  6. 03:22

    הוספת בדיקת סכמה בפוסטמן

תמלול ההרצאה: בדיקת סכמה בפוסטמן חלק 1

הטקסט המלא של הדקות הראשונות בהרצאה «בדיקת סכמה בפוסטמן חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    הסרטון הקרוב מראה דוגמה לבדיקה שנקראת בדיקת סכמה. בדיקת ג'ייסון סכמה זו בדיקה מאוד חזקה והשימוש בה באוטומציה הוא נרחב ויש לו הרבה הרבה פוטנציאל והרבה יכולות.

  2. 00:13

    אז בואו נלמד מה זה בדיקות סכמה בפוסטמן. קודם כל לג'ייסון לכל ג'ייסון יש סכמה סכמה זה אומר חוקיות של המבנה שלו לדוגמה הג'ייסון שאנחנו מריצים עכשיו על האתר בדיקות שלנו אנחנו מבקשים את כל המוצרים מהדאטאבייז של המערכת.

  3. 00:31

    אתם רואים שאנחנו מקבלים פה מלא מלא אייטמים בתוך מערך שכל אייטם מסמל את הפרטים של מוצר מסוים. אנחנו רואים שלכל אובייקט מידע של מוצר יש שדות, לדוגמה ID, Category, Name ו-Stock.

  4. 00:44

    כל שדה מצורף לו Value, כן, לכל מוצר. כל Value הוא בסוג של נתונים. יש לנו בגדול שלושה סוגי נתונים, מספרים, אתם רואים שזה בלי גרשיים, זה לא String, ויש לנו גם String בתוך גרשיים, יש לנו איזושהי מילה או מידע אלפא-נומרי.

  5. 01:02

    יש לנו גם סוג שלישי של ערך בוליאני, true או false. אנחנו צריכים לוודא שהסכמה של המערכת הזאתי, של המידע שמתקבל מהשר"ט, הוא נכון. איך אנחנו עושים את זה?

  6. 01:16

    אנחנו צריכים להפוך את ה-JSON שהתקבל לאיזשהו מסמך או אובייקט מסוג סכמה, שבעצם אומרת שבמידע שאמור להגיע מהמערכת אמורים להופיע שדות ID, קטגורי ניים אינסטוק זה השדות חובה וכל המידע לפי החוקיות הזאת איי-די הוא מספר קטגורי הוא סטרינג ניים הוא סטרינג ואינסטוק זה בוליאני true או false איך אנחנו יוצרים את האובייקט

  7. 01:43

    הזה מסוג סכמה יש לנו שתי דרכים ואנחנו נראה את שתיהן אז בואו נראה את השיטה הראשונה אז אני הולך לגוגל ואני אומר אונליין וורט ג'ייסון אני לוחץ על האישור ומקבל תוצאות של אתרים שנותנים את השירות הזה זה של המראה אני אוהב את האתר הזה רדוק לי ואני לוחץ עליו אני מעתיק מהפוסטמיין את המידע שיתקבל מהשרת ומה שהוא יעשה האתר הוא מצפה

  8. 02:10

    שאני אעתיק את ה-JSON לצד אחד והוא אומר אני מעביר את זה פה לפורמט JSON יש איזה פורמט YAML אני מעביר את זה לפורמט JSON וזה הפורמט שאני צריך זה פורמט של JSON שנקרא JSON סכימה בסדר אז טייפ אריי אייטמס טייפ אובג'קט ויש לנו פה פרופרטיז איי-די, הטייפ זה אינטיג'ר, זה באמת מספרי, אנחנו רואים.

  9. 02:34

    קטגורי זה סטרינג, אנחנו רואים באמת שזה סטרינג. אינסטוק זה בוליאן, אנחנו רואים באמת שזה בוליאן. אז יש לנו את כל השדות וכל החוקיות, ובסוף יש לנו additional properties falls.

  10. 02:45

    אז את זה אנחנו יכולים להעתיק ולחזור לפוסטמנט שלנו. לפני כן, אני רוצה להראות לכם איך לעשות את אותה פעולה בכלי AI. לדוגמה, אני בודק בעזרת co-pilot, אז אני קופיילוט, זה הכלי AI של מייקרוסופט, ואני מבקש מהכלי AI convert following JSON to schema, ומעתיק את ה-JSON שלי, סכמה, אני רוצה להעתיק את ה-JSON שלי,

  11. 03:08

    ואני מבקש שהוא יאמיר לי, והוא אכן ממיר לי לסכמה שאני צריך, בסדר? אז זה הפורמט של JSON סכמה, איך שהכלי AI, כל כלי AI יכול בקלות להמיר כל JSON ל-JSON סכמה.

  12. 03:22

    אז אני מעתיק את זה, וחוזר לפוסטמן. פוסטמן אני צריך ללכת לסקריפט פוסט רספונס ולראות איך אני מבצע בדיקת סכמה אז אין לי משהו ספציפי שאני יכול להשתמש בו בסניפטס ולכן אני אלך לאלפט של פוסטמן כדי לחפש דוגמה

לקורס המלא: קורס פוסטמן Postman לבדיקות API

ההרצאה הקודמת: בדיקות נתונים כלליות - בעת הרצה עם קובץ חיצוני

ההרצאה הבאה: בדיקת סכמה בפוסטמן - חלק 2

הרצאות קשורות מקורסים אחרים

  • בדיקת גבולות
  • יצירת סכמה עבור Data Warehouse
  • בדיקת איכות של תוכנה בענן
  • בדיקת RESTful Service עם Postman

קורסים נוספים במסלול

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס Robot Framework - בדיקות QA ממשק גרפי
  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium
  • קורס סלניום מתקדם - CI/CD - Continues Integration
  • קורס מייבן - Maven