PracticU

שמירת ערך חוזר מהשרת

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

שמירת ערך חוזר מהשרת
רצף הבקשות על העגלה עובד, אבל יש בו חולשה: בכל יצירת עגלה השרת מחזיר cartId חדש, ובבקשות הבאות הוא כתוב ידנית. ההרצאה מראה איך לשמור את הערך שחוזר מהשרת במשתנה ולהשתמש בו אוטומטית.
למה זה נחוץ
כל לחיצת send על יצירת העגלה מחזירה טוקן אחר. אם לא מעדכנים את הבקשות שאחריה, הפריטים ייכנסו במקרה הטוב לעגלה אחרת. לכן לא משתמשים בערך כפי שהוא (hardcoded) אלא שומרים אותו במשתנה.
השלבים העיקריים
1. פותחים את לשונית Scripts: בבקשת יצירת העגלה נכנסים ללשונית Scripts, ושם יש רשימת snippets עם דוגמאות.
2. בוחרים שתי דוגמאות: Set Collection Variable מתוך pm, ו-Response Body: JSON Value Check, שבה משתמשים רק בחלק שמבצע parse לתשובה ל-JSON ולא בבדיקה.
3. שומרים את הערך: מגדירים משתנה, למשל my cartid, ושמים בו את jsonData נקודה ושם השדה מהתשובה. את הערך מעבירים ל-collection variable.
4. מוודאים בקונסול: עם console.log מדפיסים את המשתנה ובודקים שהוא תואם לגוף התשובה האמיתי.
5. מחליפים בבקשות: בכל הבקשות שבאות אחרי היצירה כותבים את שם המשתנה בסוגריים מסולסלים במקום המספר: הוספת פריט, פריט נוסף ו-get cart. שומרים ושולחים.
6. בודקים את הדינמיות: בלשונית variables של הקולקשן רואים שהערך מתחלף בכל שליחה, והבקשות ממשיכות לעבוד.
שימו לב
- ערך שנשמר במשתנה לא כותבים בגרשיים כשמעבירים אותו, אבל שם שדה או ביטוי כמחרוזת כן כותבים בגרשיים.
- את הקונסול פותחים בפוסטמן ומנקים בעזרת clear לפני הבדיקה.
אחרי ההרצאה אפשר לשמור בכל בקשה ערך שחזר מהשרת ולהשתמש בו בבקשות הבאות בלי העתקה ידנית.
השיעור הבא בקורס: בדיקת סטטוס קוד של תשובה לבקשה Postman

פרקי ההרצאה: שמירת ערך חוזר מהשרת

  1. 00:00

    סיכום רצף הבקשות

  2. 00:56

    CartID דינמי מהשרת

  3. 01:38

    שימוש דינמי בנתונים מהבקאנד

  4. 02:34

    לשונית Script ו-Snippets

  5. 03:11

    קריאת ה-JSON למשתנה

  6. 03:48

    שמירה ל-Collection Variable

תמלול ההרצאה: שמירת ערך חוזר מהשרת

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

  1. 00:02

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

  2. 00:14

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

  3. 00:36

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

  4. 00:59

    אני רוצה לתת תשומת לב לנקודה מסוימת. תשימו לב שהפעולה הפותחת שלנו את התהליך זה יצירה של קארט חדש. כשאנחנו לוחצים send על הפעולה הזאתי, שימו לב שהCartID משתנה, הוא מקבל אותו דינמית מצד השרת ששולח מזהה של הקארט מחדש, קארט חדש, איזשהו מספר טוקן good כזה חד-ערכי שכל פעם מתחלף בכל לחיצה.

  5. 01:30

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

  6. 01:58

    שאנחנו נשמור אותם ונשתמש בהם בהמשך, זאת אומרת נשתמש בנתונים הדינמיים ולא נשתמש בהם כמו שהם מופיעים ארטקודד, אני לא אעתיק את ה-d5-9.1m אלא אני אכניס אותו לפרמטר, לתוך וריאבל, ואני אשתמש בווריאבל הזה בריקווסט שבא אחריו.

  7. 02:19

    פה יבוא וריאבל ולא המספר עצמו של ה-cartid. אז איך אנחנו עושים את זה? לצורך כך, נעבור ל-Tab Script, אני אוריד את ה-Request הזה, ופה אני אראה לכם כאן, יש לנו את ה-S snippets, יש לנו Snippets, רשימה של דוגמאות. אני צריך לבחור דוגמא כדי לייצר איזשהו Collection Variable חדש.

  8. 02:49

    אז אני עובר פה על הדוגמאות ואני מחפש את המילה Set, Set Collection Variable, אני לוחץ כאן PM, Set Collection Variable.

  9. 03:01

    עכשיו אני צריך להשתמש בנתונים שמתקבלים מה-JSON. אז לצורך כך אני אשתמש בעוד דוגמה שנקראת Response Body, Json Value Check.

  10. 03:15

    אני לא אשתמש ב-Check, אלא אני אשתמש רק בדוגמה של קבלת ה-JSON שלנו. אז Json פה נכנס לתוך var, לתוך Variable, שהוא עובר פארסינג, התאמה למצב של ג'ייסון דאטה.

  11. 03:32

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

  12. 03:55

    אז בואו ניצור איזשהו משתנה. נקרא לו let cartid או my cartid שווה ואני פה אעשה json data נקודה השם של השדה שאני רוצה אתם רואים יש לי את השם של השדה פה יכול להעתיק אותו ופשוט נקודה פסיק זהו עכשיו על מנת לראות אם הצלחתי בפעולה שלי וקיבלתי

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

ההרצאה הקודמת: הדגמה של סוגי בקשות - חלק 3

ההרצאה הבאה: בדיקת סטטוס קוד - של תשובה לבקשה - Postman

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

  • שמירת Fragment Instance
  • שמירת Payload מוצפן
  • משתנים שיכולים לקבל ערך - Optionals
  • שמירת זמנים ותאריכים ב-SQL

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

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