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://atidcollege.co.il

יוני פלנר.

שונה לאחרונה ב רביעי, 26 ספטמבר 2018 05:53

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

חדשות מעולם הבדיקות

  • Parkinson’s law in software testing

    Coffee was brewing for the third time. It was dead silent in the dorms. Only a dim screen lit the room and steady tap of the keyboard took flight. It was 3am and the deadline was approaching fast.That was the story of my life. When I studied back at the University of Oulu in Finland I got myself into trouble on a regular basis. I procrastinated on starting with my project reports and essays for days. My small apartment was super tidy, I had taken care of calling both grand moms twice during the week and even dragged my ass to the gym every day.Have you experienced similar situations? Basically everything except the important paper was taken care of. My ways of postponing the inevitable were clever and creative. But the last evening before the deadline always came. Usually around 5pm I brewed my first coffee and got to work.I did the same drill every semester with every report paper and every project. And never failed once. The work got magically done, no matter how big it was. In the morning I stormed in to the course assistants room and delivered my results. It’s uncanny how naturally everything worked out when the deadline came. It’s always the final hours before the deadline that are the most productive hours for me.Last year I started a new project, because I wanted to write a book about software testing. Once again I found myself filling the days up with pointless meetings, email and social media combined[…]

    18.02.2019 | 8:08 קרא עוד...
  • European Testing Conference SpeedMeet - How To?

    European Testing Conference SpeedMeet - How To? Picture a conference you went to, alone. You don't know anyone, not sure if they want to talk about exploratory testing (your favorite) or test automation (not your favorite) and not feeling like you have the energy to go and push yourself on random strangers. You show up, sit in a table, watching people around you discuss and listen until it is again time to head to a session.As a socially anxious extrovert, I have had huge problems with conferences. I want to talk to people,  but the need of taking the first step and finding out if they want to talk to me drains me. My usual recipe is to be a speaker, and have people approach me. But the same issue drove me to figure out other designs for my conference, and SpeedMeet was born.SpeedMeet puts together three insights: Pairing people up with a rule to introduce is an effective way of building relationships. The rule helped people at Scan Agile meet, and we wanted to do more of sessions where social interaction wasn't emergent but facilitated. The meeting needs an artifact that introduced pull over push in introductions. This piece we found in Jurgen Appelo's talk in Agile Serbia, and combining it my personal aversion to talking about beer (push information often provided in the tester community), the connection to the right dynamic was evident.  The high-volume high-interaction event needs an escape route and permission. This piece became evident with experimenting with large crowds listening to feedback. […]

    18.02.2019 | 8:01 קרא עוד...
  • Inspecting Elements for writing XPath, CSS Selector in Chrome

    The most important part in any kind of automation is, identifying various elements over which we want to perform an action and when it comes to web application or android application automation using Selenium WebDriver or Appium, we fall for Chrome, Firefox or Internet Explorer to find the right set of XPath or CSS selector. For the same, all mostThe post Inspecting Elements for writing XPath, CSS Selector in Chrome appeared first on Abode QA.

    18.02.2019 | 5:23 קרא עוד...

טיפים

  • טיפ - עבודת בודקים בצמד עם המפתח
    טיפ - עבודת בודקים בצמד עם המפתח  עבודת בודקים בצמד עם המפתח "עבודה בצמד עם המפתח" – לעבודה בצמדים יתרונות רבים אך לעיתים היא נזנחת בשל "העלות הכפולה". בשנים האחרונות עם עליית שיטות אג'יליות ו- Extreme Programming צורת עבודה זו יותר נפוצה. כששני…
    קרא עוד...
  • בודק - למד לשאול – Learn to Question
    בודק - למד לשאול – Learn to Question  בודק - למד לשאול – Learn to Question - Tony Bruce – חלק ניכר מעבודת הבודק כרוכה באיסוף מידע לגבי המערכת, התכונה או הנושא הנבדק.במהלך איסוף המידע נתקל במידע רב המגיע מגורמים שונים, וכולל הנחות אותן…
    קרא עוד...
לרשימה המלאה >>