PracticU

הוספת Query ל-Request

בלי כתוביותעם כתוביות
PracticU › קורס JMeter - בדיקות ביצועים ועומסים › הוספת Query ל-Request
מילון מושגים:
שאילתה - בקשה למסד נתונים לשלוף, להוסיף, לעדכן או למחוק נתונים, לרוב בשפת SQL.
בקשה - פנייה שלקוח שולח לשרת כדי לקבל מידע או לבצע פעולה. השרת מחזיר עליה תגובה.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
CSV - קובץ טקסט פשוט לאחסון נתונים טבלאיים, שבו הערכים בכל שורה מופרדים בפסיקים.

הוספת Query ל-Request
השיעור מוסיף פרמטר חיפוש (query) לבקשה, ומעביר את שם העיר למשתנה, כדי שאפשר יהיה לבדוק ערים שונות בלי לשכפל את הטסט.
הוספת החיפוש
1. שכפול הבקשה: משכפלים את בקשת ה-World Clock ומשנים את שמה ל-search city.
2. פרמטר query: מוסיפים פרמטר query, שערכו בתחילה בוסטון.
3. Assertion: מעתיקים מתוך התשובה ב-Fiddler את הכותרת results for search for boston, ומוסיפים אותה כבדיקה בתשובה.
משתנה לעיר
4. User Defined Variable: מגדירים משתנה בשם city עם הערך הראשוני בוסטון, ובכל מקום שבו הוזנה העיר קבועה כותבים ${city}. גם בדיקת התשובה משתמשת במשתנה.
5. רווחים בשם העיר: בכתובת ה-query רווח מיוצג כסימן +, ולכן לעיר בשתי מילים, כמו ניו יורק, צריך שני משתנים: אחד עם + לשימוש בשאילתה, ואחד עם רווח לבדיקת הטקסט בתשובה.
שימו לב
השיעור מדגים שינוי של המשתנה לשיקגו, לניו יורק ולבסוף לערכים נוספים, והטסט עובד לכל עיר.
השיעור הבא מזין את הערים מקובץ CSV.
השיעור הבא בקורס: שימוש בנתונים מ-CSV

פרקי ההרצאה: הוספת Query ל-Request

  1. 00:00

    סיכום שתי הבקשות לאתר time and date

  2. 01:00

    הוספת Response Assertion לבקשות

  3. 02:40

    שכפול בקשה והוספת פרמטר Query

  4. 03:35

    אימות התוצאה עם אסרשן טקסט מהפידלר

  5. 04:33

    הגדרות משתמש יחיד ומשמעות Ramp-up

  6. 05:36

    בדיקת תוצאות הבדיקה בתצוגת HTML

תמלול ההרצאה: הוספת Query ל-Request

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

  1. 00:03

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

  2. 00:22

    באתר בדיקות שלנו שנקרא time and date רצינו ליצור איזשהם רצף פעולות ולהעביר אותם או לשחזר אותם בתוך ה-J-Meeter ועל ידי כך בעצם אנחנו יכולים לגרום לג'יי מיטר לבצע את אותן פעולות אבל על ידי הרבה משתמשים וירטואליים זה המטרה שלנו ליצור רצף פעולות שידמו התנהגות של משתמשים על אתר שאותו

  3. 00:46

    אנחנו רוצים לבדוק בעצם יצרנו שני ריקווסטים מסוג HTTP ריקווסט שהוא גט שהוא בעצם הולך פונה ומבקש מאיזשהו url שקבענו בה HTTP request default שיהיה timeanddate.com והוא ניגש לדף הפותח אבל לא הסתפקנו רק בהגעה לדף הפותח אלא עשינו עוד request שפונה לחלון בתוך המערכת שנקרא wordclock על ידי לחיצה

  4. 01:01

    פה אנחנו מגיעים ל-url ה-jmeter לא מדמה לחיצה על כפתור אבל הוא בעצם מדמה את התוצאה של הלחיצה על הכפתור ולשני ה-requests האלה הוספנו דבר שנקרא אסרשן, ריספונס אסרשן, שמוודא באמת שהתוצאה שקיבלנו בריספונס לריקווסט שיצרנו תואמת לדף

  5. 01:40

    שאנחנו באמת מקבלים כשאנחנו מדמים או כשאנחנו מבצעים את ההתנהגות באופן ידני. כשאני לוחץ על time and date אני מקבל רצף של תגי html, כשאני לוחץ על word clock אני מקבל עוד תגים של html והריספונס אסרשן בעצם מאפשר לי לוודא באמת שקיבלתי את הדף המבוקש, ולא לדוגמה איזה דף 404

  6. 02:07

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

  7. 02:25

    זה התפקיד של ה-Response Sertion. המטרה עכשיו שלנו זה להוסיף ריקווסט נוסף, אבל הפעם שהוא יבצע את הפנייה הזאתי, זאת אומרת יכתוב איזשהו ביטוי ויבקש לקבל את ה-URL הזה query-boston.

  8. 02:43

    אנחנו יכולים לראות גם את ה-query הזה ב-Fidler, זה ה-query הראשון של road clock וזה ה-query, זה בעצם ה-request השני, ה-http-request-get השני, אנחנו רואים אותו פה.

  9. 02:55

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

  10. 03:15

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

  11. 03:48

    רספונס הסרשן בוא נראה בעזרת הפידלר איזה ריקווסט אנחנו רוצים אז יש לנו כאן את התוצאה של של בוסטון אז יש לנו פה את ה-result search for boston בואו ניקח גם את התגית ולכן אני ארצה לראות את זה אז ה-text view ופה אני אחפש את הביטוי שאני רוצה אני מעתיק את זה זה יהיה ה-string או החיפוש של הטקסט שאני אחפש ברספונס שלי פה אני מוחק את זה ואני אחפש את התגית הזאת אני מכניס גם את ה-tag

  12. 04:23

    כותרת results for search for boston אז זהו ומבחינתנו אנחנו יכולים להריץ, לנסות להריץ. שימו לב, ההגדרות של הטרד, כל עוד אנחנו בשלב של כתיבת הטסט שלנו או התסריט שלנו, אז אנחנו נשמור על מספר המשתמשים המינימלי שזה יהיה אחד. רמפאפ, עדיין לא הסברנו, אבל רמפאפ זה הזמן שלוקח למספר המשתמשים להגיע ל-100% מבחינת הכמות,

  13. 04:47

    כשיש אחד זה לא משנה, אבל אם הייתי עושה 100, לא הייתי רוצה ש-100 יגיעו בשנייה אחת, הייתי נותן איזשהו רצף של זמן אם אני רוצה נגיד 60 משתמשים ואני רוצה כל 5 שניות עוד משתמש אז אני יכול לרשום פה 360 או 300 ואז בעצם כל 5 שניות היה מתווסף משתמש.

  14. 05:09

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

  15. 05:33

    אז בואו ננסה ונריץ ונראה ב-view result tree מה קורה. כן, יש לנו את התוצאה הנכונה מבחינתנו. בואו נראה את ה-Response Data, נראה אותו בפורמט HTML. שוב, איך אני מגיע לבדוק את ה-Response Data?

  16. 05:48

    אני לוחץ מקש ימני, לוחץ על התו של ה-Response Data, עובר ל-HTML, פה אני רואה את הדף שלי, אנחנו לא רואים אותו בדיוק כמו שהוא נראה בגוי בגלל שאין את הסטיילינג, אין את כל העיצוב של הדף, אבל ה-J-Meter מחזיר את התוצאה שרצינו

  17. 06:07

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

לקורס המלא: קורס JMeter אונליין בעברית

ההרצאה הקודמת: הוספת Request לטסט

ההרצאה הבאה: שימוש בנתונים מ-CSV

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

  • The Request Code
  • הגדרת Query Collection
  • משתנים ב-Query - מול משתנים ב-Path
  • Pattern - Request-Reply

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

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