PracticU

הרצאה 17 - קורס Load Runner הראשון

בלי כתוביותעם כתוביות
PracticU › קורס Load Runner - בדיקת עומסים › הרצאה 17 - קורס Load Runner הראשון
מילון מושגים:
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
סשן - פרק זמן של פעילות רציפה בין משתמש למערכת, שבו נשמר מידע על מצבו, למשל לאחר התחברות לאתר.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.

הרצאה 17 - קורס Load Runner הראשון
השיעור השבע-עשר עוסק בקורלציה, כלומר בתפיסת ערכים דינמיים שהשרת שולח, והחזרתם לשרת בהמשך הסקריפט.
הבעיה
כשהשרת פותח Session, הוא מחזיר מזהה (Session ID). המזהה משתנה בכל הרצה, ולכן הערך שנשמר בסקריפט לא יתאים בפלייבק. הדבר מתבטא בשגיאה, למשל שה-Session ID פג תוקף.
הפתרון
שומרים את הערך הדינמי מתוך תשובת השרת למשתנה, ומשתמשים בו בפעולות הבאות. בלואוד ראנר משתמשים בפונקציה web_reg_save_param, שמקבלת גבול שמאלי וגבול ימני, ומחלצת את הערך שביניהם.
זיהוי הערך הדינמי
שתי דרכים מוצגות:
1. השוואה בין שני סקריפטים: מקליטים את אותה פעולה פעמיים, ומשווים בין הקבצים, למשל בעורך Notepad++ עם תוסף השוואה. החלק שמשתנה הוא הערך הדינמי.
2. חיפוש בתשובה: בודקים את תשובת השרת ומחפשים בה את הערך.
המרצה מסביר שהגבול השמאלי הוא הטקסט שמופיע לפני הערך, והגבול הימני הוא הטקסט שמופיע אחריו.
פרמטרים של הפונקציה
- גבול שמאלי (LB) וגבול ימני (RB).
- שם הפרמטר שאליו נשמר הערך.
- מספר ההופעה (ord), שבדרך כלל הוא 1.
דוגמה
המרצה מדגים כיצד ערך Session שנשמר מתשובה מועבר לשורה הבאה בסקריפט, וכיצד הסקריפט מתנגן ללא שגיאה.
Dependent Data
לעיתים הערך הדינמי תלוי בערך שנבחר קודם, למשל פריט שמתאים לקטגוריה מסוימת. במקרה כזה משתמשים בקורלציה כדי לשמור על ההתאמה בין הערכים.
אחרי שמבינים איפה מופיע הערך הדינמי, אפשר לעבור לכלל אוטומטי, כפי שמוצג בשיעור הבא.
השיעור הבא בקורס: הרצאה 18 - קורס Load Runner הראשון

פרקי ההרצאה: הרצאה 17 - קורס Load Runner הראשון

  1. 00:00

    מהי קורלציה ולמה היא נדרשת

  2. 01:14

    שתי שיטות קורלציה: ידנית ואוטומטית

  3. 03:12

    Session ID שמשתנה בכל הרצה

  4. 04:27

    שגיאה כאשר Session ID פג תוקף

  5. 05:26

    תפיסת קורלציה ידנית בסקריפט

  6. 06:54

    זיהוי אוטומטי של ערך דינמי

  7. 09:24

    הקלטה מחדש של הסקריפט מההתחלה

  8. 11:24

    הקלטת הזמנת טיסה לדוגמה

תמלול ההרצאה: הרצאה 17 - קורס Load Runner הראשון

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

  1. 00:02

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

  2. 00:31

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

  3. 01:11

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

  4. 01:39

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

  5. 01:53

    עברנו על טרנזקציות, על הפרמטריזציות, על ה-checkpoints ב-session של verification, וכרגע אנחנו ב-correlation. אין מילה בעברית ל-correlation, לפחות לא משהו שאני יודע או משהו שמשתמשים במושג, אז פשוט תשתמשו בקורלציה.

  6. 02:17

    בואו נראה מה התהליך שמתבצע. נניח שאנחנו רוצים לבצע סקריפט מסוים, אנחנו עושים לוגין עם user name "jojo", פספורט בין, לצורך העניין. השרת מחזיר לנו סשן-איי-די כי בהמשך כשנרצה לעבוד עם השרת אנחנו נרצה כל פעם להתלבש על אותו סשן-איי-די, וזה ה-Session ID, ראיתם אותו.

  7. 02:44

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

  8. 02:57

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

  9. 03:19

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

  10. 03:43

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

  11. 04:01

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

  12. 04:19

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

  13. 04:30

    ה-Response הוא יגיד לנו שה-Session ID 12345 has expired כבר לא קיים ונצטרך בעצם להביא לו Session ID אחר מה ה-Solution מה הפתרון שיכול לבוא ולקחת את ה-Session ID הזה לשמור אותו בעצם להגיד לקוד ברגע שאתה מזהה משהו שמגיע מהשר"פ והתורה שלו נראית לך כ-Session ID קח ותשמור אותו באיזשהו משתנה חיצוני וכשנרצה

  14. 05:13

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

  15. 05:51

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

  16. 06:13

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

  17. 06:41

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

  18. 07:03

    מה למעשה לואוד ראנר עשה? הוא תפס את המיקום של השגיאה, הוא תפס את הגבול הימני וגבול השמאלי בתוך הסקריפט של אותו ערך דינמי ושמר אותו לתוך פרמטר כלשהו.

  19. 07:30

    מה שיוצף אחרי זה לתוך הסלינק זה webreg.safe.param, אוקיי? וכמובן, ברגע שכל יתבצע כמו שצריך, אנחנו הצלחנו לנגן וקורולציה הצליחה, אוקיי?

  20. 07:50

    על מנת שנוכל באמת לראות את הערכים הדינמיים שיוצאים מהשרת, כדאי לנו להפעיל בתוך הלוג extended log, אוקיי? ולהגיד לו תוסיף לנו ערכים שיוצאים מתוך ה-שקע.

  21. 08:13

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

  22. 08:39

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

  23. 09:15

    עליה אבל אני למעשה רוצה ללכת ולעשות את ההקלטה מחדש ולהראות את כל התהליך איך הוא מתבצע בסדר? בזה אני בוחר את ה-newscript.

  24. 09:38

    אנחנו הולכים ל-web-tools, אנחנו נשים בתוך ה-init, כדי שיהיה לנו יותר קל אחר כך לתפוס את הבעיה, ונתחיל בהקלטה.

  25. 09:55

    כמובן, תהיה לנו בעיה בהקלטה, הוא לא יצליח, והסיבה לזה שלא העליתי את ה-web-tools, אז בואו נעשה את זה זריז, start web server, יפה, עכשיו אני עוצר את זה, כי ההקלטה היא פשוט לא תקינה, ונתחיל מההתחלה.

  26. 10:23

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

  27. 10:52

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

  28. 11:24

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

  29. 12:02

    אלה הדברים שסטנדרטיים, אתם מכירים אותם, last name, גני, street address, אנחנו נוותר, מוותר, טסנג'ר ניימס, כמובן, זה עוד הפעם אני ורדיט קארט 4765, אין, יש פה, שמור, רדיט קארט שלי האמיתי,

  30. 12:34

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

  31. 13:16

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

  32. 13:58

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

  33. 14:21

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

לקורס המלא: קורס Load Runner אונליין

ההרצאה הקודמת: הרצאה 16 - קורס Load Runner הראשון

ההרצאה הבאה: הרצאה 18 - קורס Load Runner הראשון

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

  • הרצאה 1 - קורס Quality Center הראשון
  • ה-SCRIPT הראשון שלי
  • הפרויקט הראשון שלנו ב-GitHub
  • בדיקת ידע על המודול הראשון ב-AZ-900

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

  • קורס שלם ומקיף בעברית על בדיקות תוכנה
  • Quality Center
  • מבחן QA לדוגמא