
הטקסט המלא של הדקות הראשונות בהרצאה «Jmeter - POST request» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בסרטונים האחרונים השתמשנו ב-J-Meter כ-proxy ודרך זאת תיעדנו פעולות שאנחנו מבצעים בדפדפן, בבראוזר שלנו, מול שרתים על מנת לתעד פעולות ובעצם התנהגות של משתמש מול שרת.
בדרך זו היינו יכולים ליצור בעצם סוג של סט של פעולות או טסט שדרך ה-J-Meter היינו יכולים להפוך אותם לבדיקת תומסים. לדוגמה ביצוע חיפוש מול אתר בדיקות מסוים, לדוגמה אתר של neutours.demo.uat.com ביצוע איזשהו חיפוש, איזשהו רצף של פעולות של הזמנת טיסה, הפכו בעזרת ה-J-Meeter והיכולת שלנו לשכפל את הפעולה הזאת לסוג של בדיקת ביצועים,
עומסים, בדיקת לחץ, סטרס טסטינג וכדומה. אז כמו שאמרנו ה-J-Meeter הוא בעצם סוג של רובוט שמאפשר לנו לשלוח ריקווסטים מסוג get, post, put ואחרים לשרתים ולבדוק את התגובה שלהם, את התגובה של השרת כפי שהיא משתקפת אצל לקוח הקצה, אצל הקליינט.
היום רציתי להתמקד מבחינת הדמו בתהליך של ה-request post. מה בעצם קורה כשאנחנו מבצעים request מסוג post?
בעצם אנחנו כקליינטס פונים לשרת ומבקשים לבצע פעולה שהיא לא רק הבאת אינפורמציה כמו גט, אלא ביצוע של פעולה כלשהי, לדוגמה לוגין.
בפעולת לוגין אנחנו שולחים בדרך כלל פרטי רישום, יוזרניים, פסטוורד וכדומה לשרת ומבקשים אותנטיקציה, אוטוריזציה של היוזר שלנו לנתונים בשרת.
אז הפוסט הוא מורכב יותר מהגט, הגט רק אומר תן לי נתונים, הפוסט שולח נתונים ומצפה בהתאם לשליחת הנתונים ולפעולה שבוצעה בשרת לקבל תגובה חזרה.
לכן הפוסט, בדרך כלל ה-request post יהיה גדול יותר מ-request מסוג get, והתשובה תכיל מידע אחר מאשר request מסוג get.
איך נבצע את הדמו? מה שנרצה לבצע היום זה פנייה לאתר הבדיקות שלנו, נלך לחלון של ה-sign-on, נכניס username ו-password, נלחץ submit, נרצה לראות את ההקלטה שמקליטה פעולה מסוג פוסט מול השרת של האתר.
אז יש לנו את ה-J-Meter שלנו, נעשה פייל, טמפלייט, נבחר טמפלייט מסוג ריקורדינג ונלחץ קריאייט. כאן ניתן את השם של ה-URL הבסיסי שאותו אנחנו רוצים לבדוק, newtours.demo.uat.com בדוגמה שלנו.
נוריד את הפרפיקס של ה-HTTP וגם פה נוריד את סכמה to record HTTP ונלחץ create ובעצם נוצר לנו איזשהו פרויקט בסיסי על פי טמפלייט של הקלטה.
כאן יש לנו את הגדרות ה-HTTP test script recorder שכוללות את הפורט שמי שירצה להשתמש ב-J meter כ-proxy יצטרך להאזין אליו 8888. כאן יש את הטייפ, אמרנו שאנחנו נרצה להשתמש בג'אווה.
איפה נרצה לשים את ההקלטות? אני ארצה להשתמש ב-Test Script Recorder פה, גם כמחסן של ההקלטות. אחר כך, אחרי שנסיים להקליט, נעתיק את ההקלטות ל-Trade Group.
טרד גרופ זה קבוצת משתמשים וירטואלית. על מנת להשתמש בבראוזר שיאזין לפרוקסי, ניכנס להגדרות של הבראוזר, לדוגמה פה ב-FireFox, ניכנס להגדרות ה-LAN או Network Setting, ונסמן את ה-Manual Proxy Configuration, localhost ואת המספר port שהגדרנו ב-Jmeter.
מבחינתנו אנחנו מוכנים לבצע את ההקלטה, בואו נלחץ על כפתור סטארט, נוצר סרטיפיקייט, אותה אנחנו ניתן לבראוזר שלנו, הסברנו בשיעורים קודמים איך לעשות את זה.
כאן נלחץ ונקרא לסוג ה-request שאנחנו מבצעים, או נלך לבראוזר ונגיש את אותו url שאנחנו רוצים לבדוק. כאן נלחץ לוגין, נגיע למסך סיין-און, פה נבצע לוגין סבמיט, כאן נגיש את השם של היוזרנם, טקסט של היוזרנם ואת הפסוורד ונבצע סבמיט.
לסיום ההקלטה קיבלנו בעצם רצף של פעולות, בהתחלה גישה למסך הבית, אחר כך גישה למסך הלוגין ואחר כך גישה לפעולת הפוסט.
מה קרה בעצם בפעולת הפוסט? אנחנו רואים שמתוד ה-Request הוא פוסט וזה המסלול שלו, ומה אנחנו בעצם שלחנו? יוזרניים מסוג מרקורי, את ה-Username בטקסט מרקורי, פסטוורד מרקורי וביצענו לוגין.
יש לנו כאן איזשהו גט, אנחנו רואים שה-Jaymitter צבע אותו ב-Grayout ואנחנו נוכל לנטרל אותו אחר כך. יש לנו פה עוד פעולות של לוגין.
אמרנו שאנחנו יכולים לנקות את כל הריקוויסטים שפונים לבלאק, אז אנחנו יכולים למחוק אותם. בואו נעתיק את כל שלושת הפעולות וננקה אותם בתוך הטסט עצמו מתחת לטרד קרופים.
את הרקורד קונטרולינג אני לא צריך כרגע, אז אני יכול להעיף אותו ולעשות לו רימוב על ידי מכ"ש ימני. כאן אני יכול לנקות את הגטים לבלאק, כאן אני יכול לעשות Disable ככה שזה לא ישפיע, אני יכול להוריד אותו בעצם, לעשות רימוב.
אז כרגע יש לנו את הפעולה של הפוסט לתוך השרת וביצוע לוגים. לפני הפעלת הסקריפט שלנו נבצע עוד פעולה של קונפיגורציה שתעזור לנו לראות את התוצאות בצורה יותר ברורה.
נסמן ב-v את הג'נרט פארנט סמפל ככה שכל התוצאות יהיו מאוגדות לפי הריקווסט שחילקנו אותו פה בדרד קופ.
פרקטיקה טובה על מנת לראות את התוצאות בצורה ברורה יותר. אחרי שביצענו את הפעולות האלה אנחנו מנקים את הריצה, את תוצאות הריצה הקודמות ואנחנו מוכנים להפעיל.
שימו לב ב-HTTP Cookie Manager אני גם מסמן את ה-Clear Cookie Each Iteration ואני מוכן להפעיל את הטסט שלי. כשאני בתהליך של טסט או כתיבה של טסטים אני אשתמש ב-view result 3 כליסינר שלי כי זה הליסינר שאני רוצה לבדוק את הריקווסטים המסוימים שלי. דבר נוסף שאני אעשה בשלב העבודה על הטסט זה להריץ רק טרד של יוזר אחד זאת
אומרת בקבוצת יוזרים שלי בטרד יהיה רק אחד רק משתמש אחד כי אני רק רוצה לבדוק את הריקווסטים. אז אחרי זה אני יכול לבצע סטארט.
אני רואה שיש פנייה לאום ללוגין ואז מבוצע הסאבמיט לוגין. אנחנו רואים שזמן הפעולה של הפוסט הוא איטי יותר מאשר הפעולה של הריקווסט גט, של הריקווסטים מסוג גט.
אז כאמור בסיום הפעולה יש לנו את הלוגין סאבמיט. בתוך הלוגין סאבמיט, שלא כמו בתוך האום והלוגין שהם ריקווסטים מסוג גט, נראה כאן את ה-request שהוא מסוג פוסט.
הפוסט מבצע את פעולת הלוגין ובעצם מחזיר תגובה לפעולה עצמה, שזה איזשהו קוקי שאנחנו מקבל איזשהו מספר guid, מספר ID מסוים, שמאשר את ה-session.
יש לנו בעצם פעולה של פוסט שאנחנו שולחים לשרת על מנת לבצע לוגין ולקבל אישור לפעולת לוגין שהיא הייתה נכונה ותקינה. בואו נראה פה מבחינת הריספונסים שקיבלנו איך נראה הגט שהוא תקין.
נעבור לתצוגה של html ואני אלך ל-request body, ריספונס דאטה, נראה פה את תצוגת html של הריספונס דאטה ואנחנו רואים פה שיש את את הסיין-אוף, נוסיף כאן פעולת הסרשן על מנת לוודא באמת שהסיין-אין בוצע בצורה תקינה.
אם הוא לא היה מבוצע בצורה תקינה, לא היה מופיע את הקישור סיין-אוף אלא בעצם הסיין-אין עדיין היה פתוח. איך נעשה את ההוספה של הסרט? נעבור לתצוגת טקסט, נחפש את הסיין-אוף, יש לנו את הסיין-אוף ופה נחפש את הקישור הזה.
אני הולך ל-1196, פה אני אעשה הוספת אסרשן, ריספונס אסרשן, מעתיק את הטקסט מה-HTML, כולל הטאגים, ואני מצפה לראות את ה-sign off כ-Response Assertion, לראות שבאמת ה-request הצליח, ה-login הצליח, ואז אני אדע שבעצם פעולת הפוסט של ה-login הצליחה.
כרגע בעצם יש לי טסט שאני יכול לקרוא לו לוגין, וכאן בעצם אני יכול לבצע תיקה ולראות איך השרת מתנהג בעומס של x משתמשים, לדוגמה אני יכול לעשות 10 משתמשים, רמפאפ של 10, כל משתמש תוך שנייה מבצע את