LOGIN
התחברות או הרשמה
Avatar
להמשך הרשמה ידנית – לחץ על כפתור ההרשמה, להרשמה/כניסה מהירה בעזרת חשבון רשת חברתית – לחץ על הלוגו בכותרת

אפס סיסמה - שכחתי את שם המשתמש

שם משתמש
סיסמה
זכור אותי

he icon   en icon

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

איך באמת QTP עובד

נכתב על ידי 
שני, 23 יוני 2014 14:01
דרגו כתבה זו
(2 הצבעות)

איך באמת QTP עובד ?

אלו שיש להם נסיון עם QTP בעבר יודעים כי עבודה עם QTP = עבודה עם אובייקטים, ישנן 2 צורות עבודה עם אובייקטים בכלי:
1. עבודה מול ה-Object Repository - בה האובייקט מוגדר לפני הריצה ונשמר במבנה נתונים פנימי של הכלי
2. עבודה עם Descriptive Programing - בה אני מגדיר את האובייקט בזמן הריצה, בזמן זה הוא נשמר בזיכרון הנדיף ונמחק עם סיום התוכנית.

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

אך מעט לפני כן נצטרך להבדיל בין הטכנולוגיות השונות של המוצר הנבדק, בין אם הוא נכתב מעל גבי ה-web , JAVA , .NET או משהו אחר, ל-QTP יש Add-Ins שונים שהן למעשה אוסף של ספריות (וקוד של הכלי כמובן), עבודה על ה-Add In הנכון תספק לנו API מעל הטכנולוגיה של המוצר הנבדק. העבודה ב-QTP עם מגוון טכנולוגיות אמנם קצת שונה אך העיקרון הינו אותו הדבר.

Reflection (בשמה העברי – השתקפות) היא היכולת של קוד לתחקר קוד אחר במערכת או במילים אחרות לתחקר אובייקטים בקוד, ניתן לזהות טיפוסים שונים, לקרוא לקלאסים, מתודות, Attributes , לשנות משתנים ועוד, כל התהליך הזה מתבצע בזמן ריצה.
מתחת למכסה המנוע ה-QTP מבצע את זיהוי האובייקטים שלו בעזרת פרוסס שנקרא Smart Identification Process , הפרוסס הזה לוקח את ה Properties הרלוונטים מהמשתמש מה-Object Repository, ומשווה אותם ל-Properties שמצא קלאסים של המוצר הנבדק. נשאלת עכשיו השאלה , איך בדיוק הוא מוצא את אותם Properties מהמוצר הנבדק ? פה נכנס ה-Reflection , ה-QTP יודע לתחקר את האובייקטים שהוא מוצא בחלון.

דוגמא מצויינת של שימוש ב-Reflection ניתן למצוא בלינק המופיע למטה, בה התוכנית לוקחת קובץ Assembly (שזה EXE או DLL ) , טוענת אותו לזכרון (בשיטה שנקראת סיריאליזציה), יוצרת ממנו טיפוס חדש שממנו יוצרים אח"כ אובייקט חדש שהוא למעשה אובייקט המשתקף (Reflected) לאובייקט המקורי, עליו ניתן לעשות מניפולציות ככל העולה על רוחנו כמו שרואים בדוגמא שבלינק:
http://examples.javacodegeeks.com/core-java/reflection/java-reflection-example

עכשיו כשקראנו קצת על Descriptive Programing ואנו יודעים מה זה Reflection , אנחנו מתחילים להבין שלמעשה DP הוא לא אחר מאשר ....... סוג של Reflection , בו אנו מגדירים את האובייקט בזמן ריצה עם כל ה-Properties עליו ואח"כ עושים מניפולציות בשביל לשנות אותו.

קריאה נוספת:

Reflection בוויקיפדיה - http://en.wikipedia.org/wiki/Reflection_%28computer_programming%29

הסבר מפורט על Smart Identification Process -

http://www.learnqtp.com/how-qtp-identifies-objects-complete-refresher/

 

-----------------------------------------------------------------

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

היכנסו לבלוג שלי: http://YoniFlenner.Net

יוני פלנר.

שונה לאחרונה ב רביעי, 11 פברואר 2015 04:02

חובה להיות משתמש רשום במערכת בכדי להגיב - ההרשמה/כניסה בכותרת האתר

טיפים

  • בודק - הבן את המודל והאתגרים העיסקיים
    בודק - הבן את המודל והאתגרים העיסקיים בודק - הבן את המודל והאתגרים העיסקיים המוצרים אותם אנו בודקים מיועדים (בין השאר) לקדם את מטרות הארגון בו אנו עובדים, ולנו מחוייבות לעזור בתהליך זה, שהרי לשם כך בעלי העסק מחזיקים בארגון ומעסיקים אותנו, לעיתים…
    קרא עוד...
  • אם נתקלת בבאג במקרה... - חפש באגים דומים
    אם נתקלת בבאג במקרה...  - חפש באגים דומים אם נתקלת בבאג במקרה... או שחזרה תקלה מלקוח - חפש באגים דומים, סביר להניח שפיקששת סדרה שלמה של באגים מאותו סגנון. בתרגום חופשי מהמסמך הבא של Cem Kaner.   ראה המסמך בלינק הבא, כמו גם רשימת Checklists נוספים…
    קרא עוד...
לרשימה המלאה >>