PracticU

הגדרת JMeter כ-Proxy - חלק 4

בלי כתוביותעם כתוביות
PracticU › קורס JMeter - בדיקות ביצועים ועומסים › הגדרת JMeter כ-Proxy - חלק 4
מילון מושגים:
JMeter - כלי בקוד פתוח לבדיקות עומסים וביצועים של שרתים ויישומי אינטרנט.
פרוקסי - שרת מתווך שמעביר בקשות בין לקוח ליעד, ויכול לשמש להסתרה, לסינון, למטמון או לבקרת גישה.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
שם משתמש - מזהה ייחודי שמשתמש מזין כדי להזדהות במערכת, לרוב יחד עם סיסמה.
תהליכון - יחידת ביצוע בתוך תהליך, המאפשרת להריץ כמה מהלכים במקביל ולחלוק את אותו זיכרון.
תגובה - המידע שהשרת מחזיר ללקוח בתשובה לבקשה, הכולל בדרך כלל נתונים וקוד סטטוס.
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.
POST - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או לעדכן משאב, למשל שליחת טופס.

הגדרת JMeter כ-Proxy - חלק 4
בהרצאה הזאת מבצעים הקלטה מלאה מהדפדפן ל-JMeter, ומנקים את מה שנרשם כדי להשאיר רק את הבקשות החשובות לתרחיש ההתחברות וההזמנה.
השלבים העיקריים
1. הפעלת ההקלטה: לוחצים Start ברכיב HTTP(S) Test Script Recorder, והדפדפן, שמוגדר לפרוקסי, מבצע את הפעולות.
2. ביצוע הפעולות בדפדפן: נכנסים לדף הבית, מתחברים עם שם משתמש וסיסמה, ומזמינים טיסה מניו יורק ללונדון. כל פעולה מתועדת ב-JMeter.
3. ניקוי ההקלטה: מוחקים בקשות רקע שלא נדרשות, כמו תמונות וקבצי עזר, ושומרים רק את הבקשות של הכניסה, החיפוש וההזמנה.
4. העברה לקבוצת המשתמשים: מעתיקים את הבקשות ל-Thread Group בשם Login, Search and Order Flight. בשלב כתיבת הטסט מריצים משתמש אחד בלבד.
5. השבתת ההקלטה: רכיב ההקלטה נשאר במחסן ואינו רץ בטסט. מסמנים את הבקשות בו כ-Disabled כדי למנוע כפילות.
6. הוספת אסרשנים: מריצים פעם אחת את התרחיש, בודקים בתוצאות את התשובות ומוסיפים Response Assertion שבודק טקסט מוכר בתשובה, למשל את הכותרת של דף הכניסה או את המילים שמופיעות אחרי חיפוש.
7. הפעלת Generate parent sample: מסמנים את האפשרות הזאת כדי שתוצאות הריצה יהיו ברורות יותר. ההרצה מתבצעת בלי דפדפן, ישירות מ-JMeter.
שימו לב
ג'יי מיטר מקליט רק בקשות של GET ו-POST, ולא את כל הדפים הסטטיים. הוא כלי לתיעוד בקשות ולא מקליט פונקציונלי. לכן כל אסרשן צריך להתייחס לטקסט אחד בשורה אחת בתשובה, כדי להימנע מבעיות התאמה.
בסוף השיעור יש תרחיש שמדמה את התנהגות המשתמש מול הדפדפן, והוא רץ ללא דפדפן.
השיעור הבא בקורס: JMeter Assertions

פרקי ההרצאה: הגדרת JMeter כ-Proxy - חלק 4

  1. 00:00

    חזרה על הגדרת הרקורדר והפרוקסי

  2. 00:44

    הפעלת HTTP Test Script Recorder והתעודה

  3. 01:54

    הקלטת חיפוש והזמנת טיסה בדפדפן

  4. 02:45

    ניקוי בקשות מיותרות מההקלטה

  5. 04:50

    חלוקת ההקלטה לקבוצות Login ו-Search

  6. 05:44

    השבתת בקשות מוקלטות לפני הרצה

  7. 06:20

    הוספת אסרשן וזיהוי ה-Session בתגובה

תמלול ההרצאה: הגדרת JMeter כ-Proxy - חלק 4

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

  1. 00:05

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

  2. 00:21

    אז עכשיו הגיע הזמן לבצע את הדמו המעשי של איך אנחנו מבצעים בעצם הקלטה של פעולות דרך ה-J-Meter בעזרת הדפדפן. אנחנו מגיעים לאלמנט הקונפיגורטיבי של ה-J-Meter שנקרא HTTP Test Script Recorder וזו הנקודה שבו אנחנו מתחילים להשתמש ב-J-Meter כ-proxy על ידי לחיצה על סטארט.

  3. 00:47

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

  4. 01:14

    get home page אני הולך לאותו דפדפן שהגדרתי אותו כproxy שזה יהיה הפיירפוקס שהוא יסתכל על הפרוקסי על הפורט 888 ואני עושה get לurl שאותו אתר שאותו אני רוצה לבדוק get home page אנחנו רואים טעינה של הדף וגט בוצע פעולה הפעולה הבאה שנרצה לבצע זה סיין-און אנחנו נרצה לבצע סיין-און לאתר בוא נלחץ על הכפתור סיין-און והגיע לי הסיין-און עכשיו נבצע פה האזנה של יוזרניים מרקורי

  5. 01:48

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

  6. 02:06

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

  7. 02:22

    יש לנו Flight Search, נשנה את זה ל-Flight Order, בואו נבחר את United Airlines ולא את הבחירה הראשונה, ונלחץ קונטיניום.

  8. 02:31

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

  9. 02:53

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

  10. 03:10

    אחר כך יש לנו black, black page, אנחנו לא צריכים אותו, אנחנו יכולים להוריד אותו על ידי לחיצה delete. יש לנו sign-on, יש לנו פעולת get, ויש לנו עוד sign-on של black, שאנחנו לא צריכים, אני יכול למחוק.

  11. 03:22

    יש לנו פה עוד קבוצה של sign-on, מה קורה פה? פה זה כבר פעולה מסוג פוסט, שימו לב, ששליחה של username ו-password לאתר, להשרת, על מנת לבצע לוג-אין.

  12. 03:35

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

  13. 03:52

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

  14. 04:16

    שנתנו מניו יורק ללונדון ואת התאריכים שלישי לתשיעי עשירי לתשיעי ואת כל ההגדרות האחרות שבוצעו יחד עם הטופס ויש לנו פה פלייט אורדר בוא נראה מה קורה בה גם e-post וגם בה יש את ההגדרות של הטיסה של מה שביצענו יש לנו את כל ההגדרות האלה, מה קורה פה?

  15. 04:37

    יש לנו את ה-Black ואנחנו יכולים להוריד אותו, להתעלם ממנו. את כל התוכן שהקלטנו עכשיו אנחנו יכולים לצמצם ולהעתיק את כולו לתוך ה-Login and Search.

  16. 04:53

    יש לנו את הקבוצה של ה-Trade Group, אנחנו מעתיקים ועושים Paste לתוכה. בואו נקרא לה Login, Search ו-Order Flight. זו סדרה של פעולות שאנחנו הקלטנו ואנחנו רוצים שאלה יהיו בפעולה של אותה קבוצת משתמשים שאנחנו נרצה להריץ.

  17. 05:13

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

  18. 05:33

    הזאת של הרבה אנשים. מה קורה בתוך האלמנט הקונפיגרטיבי של ההקלטה הוא לא ירוץ אף פעם אנחנו יכולים לשמור אותו כבנק של requestים אבל הם אף פעם לא יבוצעו אני יכול לצבוע את כולם וללכת ל-edit לבצע פה את ה-disable ככה שאני בטוח שהם אף פעם לא יבוצעו כדי שלא יהיה איזה מצב של כפילות וכאן יש לנו את ה-recording control גם

  19. 06:02

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

  20. 06:22

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

  21. 06:40

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

  22. 06:58

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

  23. 07:09

    יש לנו פה את ה-Request, Sample Request ו-Response Data. אני יכול לעבור את זה ל-HTML, להפוך את התהליך ל-HTML,

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

ההרצאה הקודמת: הגדרת JMeter כ-Proxy - חלק 3

ההרצאה הבאה: JMeter Assertions

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

  • מה זה Proxy ?
  • הגדרת Proxy - בדפדפן
  • הגדרת VAMT Proxy Activation
  • Proxy - svcutil

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

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