לימוד תיכנות תיאורי (Descriptive Programming) ב-QTP

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    לימוד תיכנות תיאורי (Descriptive Programming) ב-QTP - Presentation Transcript

      • DP ב -60 שקופיות פשוטות
      • www.AdvancedQTP.co.il
      • מה זה DP ?
      • DP הם ראשי - תיבות ל -
      • Descriptive Programming
      • כן , אבל מה זה DP ?
      • DP הינה דרך מגניבה לעבוד ב - QTP , בלי מאגר האובייקטים ( OR )
      • למה שארצה לעשות משהו כזה ?
      • יש כמה סיבות
      • לפעמים תהיה חייב
      • פונקציות ותרחישי התאוששות עובדים עם Actions שונים
      • Actions שונים = מאגרים אובייקטים שונים
    1. אני מכיר אותך ? לא בטוח ...
      • לפעמים תהיה חייב
      • יש אובייקטים שלא ניתן להקליט למאגר
      • חלונות משנה מסוג Auto-Hide
      • אובייקטים בהיררכיות משתנות
      • אובייקטים פנימיים , תפריטי משנה
    2. אל תזוז , נבלה ! גם אם נראה שהצלחנו להקליט את החלון , בפועל נקבל שכל התכונות שלו ריקות
      • פשטות
      • אין סיבה להוציא את התותחים הכבדים
      • לא כל כפתור שמופיע פעם אחת בתסריט צריך להיכנס למאגר האובייקטים שלנו
      • ולבסוף
      • אפשר לעשות דברים מאוד מגניבים עם DP
      • OK , שכנעת אותי
      • קודם כל , נצטרך להבין לעומק את מאגר האובייקטים
      • מה הוא מאגר האובייקטים
      • איך מאגר האובייקטים עובד
      • רגע , חשבתי ש - DP עוקף את השימוש במאגר האובייקטים
      • נכון , אבל מאחורי הקלטים , גם DP וגם ה - OR עובדים באותו אופן
      • כך שלהבין את מאגר האובייקטים יאפשר לנו להבין DP
      • מה הוא מאגר האובייקטים ?
      • קסם מסתורי שמאפשר לנו להקליט אובייקטים , על מנת לזהות אותם בהמשך
      • למה הכוונה ב " להקליט אובייקט "
      • לרשום כיצד ניתן לזהות אותו בעתיד
      • מי אתה ?
      = איך אוכל לזהות אותך
      • זיהוי האובייקט מתבצע באמצעות
      • תכונות וערכים
      • מי אתה
      = הגובה שלך = 400 הכותרת שלך = " Notepad " אתה גלוי ( Visible=True )
      • אז , מה הוא ה - OR בפועל ?
      • אוספים של תכונות זיהוי והערכים המתאימים להן
      • כל אוסף מתאים לאובייקט " אמיתי "
      • אין שום קסם מסתורי
      • OK , אז מה זה DP ?
      • DP הינו דרך לציין את תכונות הזיהוי והערכים , מבלי להשתמש במעטפת של מאגרת האובייקטים
      • גם פה לא מסתתר שום קסם מסתורי
      • OK , הבנתי , הכל זה רק תכונות וערכים
      • אפשר להמשיך ?
      • איך בפועל משתמשים ב - DP
      • ישנן שתי דרכים
      • 1
      • לזרוק את תכונות הזיהוי והערכים ישר לתוך הפקודה שאנו מבצעים
    3. זה בדיוק אותו Syntax ישן וטוב . השינוי היחיד הוא שהמחרוזת בתוך הסוגריים אינה שם האובייקט ב - OR במקום , זוהי מחרוזת זיהוי מהצורה Property:=Value
      • זאת נראית דרך שימוש מאוד מגבילה
      • מה אם אני רוצה לציין מספר תכונות שונות לכל אובייקט ?
      • אין בעיה :
      • VBWindow(“height:=400”, “title:=New Document”).Maximize
      • ניתן להשתמש בכמה תכונות שרק תרצה
      • הכל טוב ויפה , אבל מה אם ארצה להשתמש ב - Regular Expressions
      • שוב , אין בעיה :
      • VBWindow(“title:=.*Document.*”).Maximize
      • מחרוזת הזיהוי מתפרשת אוטומטית כ - Regular Expression
      • 2
      • לשים את תכונות הזיהוי והערכים בתוך אובייקט זיהוי מיוחד , ולזרוק אותו לתוך הפקודה שאנו מבצעים
    4. גם כאן , הערכים מתפרשים אוטומטים כ - Regular Expressions . אם לא מעוניינים בכך : oDesc(“Property1”).RegularExpression = False
      • השיטה הראשונה מהירה וזורמת , ומתאימה לפקודה אחת / שתיים
      • כאשר רוצים לבצע מספר פקודות עם אובייקט מסוים , השיטה השנייה עדיפה בהרבה
      • ( היא מאפשרת הגדרה חד פעמים , ושימושים חוזרים ונשנים )
      • אפשר לשלב בין DP ל - OR
      • VBWindow(“OR”).VBButton(“text:=OK”).Click
      • או ( כאשר oDesc הוא אובייקט זיהוי )
      • VBWindow(“OR”).VBButton(oDesc).Click
      • אבל , לעולם הכיוון יהיה מה - OR אל ה - DP
      • כך שהפקודה הבאה לא תעבוד :
      • VBWindow(“title:=notgood”).VBButton(“clickme”).Click
      • וזה פחות או יותר הכל
      • כך שניתן להשתמש בכל אחת מהשיטות האלו ( או בשילוב שלהן ), ולעבוד ב - QTP מבלי להזדקק למאגר האובייקטים
      • רגע , אמרת שאפשר לעשות דברים מגניבים עם DP !
      • אכן כן
      • נסקור כעת כמה מה - tricks and tips הפופולאריים יותר
      • הדוגמאות האלו הן רק קצה הקרחון . מומלץ לשחק איתן על מנת לראות את הכוח האמיתי שיש ב - DP
      • כוח המחרוזת
      • בשורה התחתונה , DP הוא פשוט אוסף של מחרוזות
      • ואנחנו יודעים לעשות דברים כל - כך מעניינים עם מחרוזות ...
      • כוח המחרוזת
      • נניח שבאפליקציה שלנו יש 4 Checkboxes : Check0,…, Check4
      • אנחנו יכולים לעבור על כולן בלולאה פשוטה ולסמן אותן
      • כוח המחרוזת
      • בעזרת משחק עם מחרוזות , אפשר לפתור בעיות זיהוי מורכבות ביותר , שנראות בלתי אפשריות
      • התנסה באפשרויות שונות בעצמך
      • אובייקטים כפולים
      • כש - QTP נתקל ביותר מאובייקט אחד שמתאים לתיאור , הוא קופא ונתקע
      • This kinda sucks
    5. ?
      • ל - DP יש תכונת קסם שפותרת את הבעיה : " index ". התכונה מאפשרת ל - QTP להבדיל בין אובייקטים " זהים "
      • Index הוא מספר רץ שמתחיל ב -0
    6. והכל בא על מקומו בשלום
      • עבודה עם אוספים של אובייקטים
      • היכולת הזאת כ " כ מגניבה , שמגיעה לה כותרת בפני עצמה
      • הדבר המגניב ביותר שאפשר לעשות עם DP , הוא לעבוד עם אוספים של כל האובייקטים המתאימים לתיאור כלשהו
    7. אני לא יודע מי אתם , או אפילו כמה מכם יש , אבל אני רוצה לסמן את כולכם ! DP רגיל לא יעבוד - אין לנו מושג איך לזהות את כל האובייקטים
      • אוספי אובייקטים באים לעזרתנו
      • שלב א : הגדרת אובייקט תיאור
      • אוספי אובייקטים באים לעזרתנו
      • שלב ב : איסוף כלל האובייקטים המתאימים
      • אוספי אובייקטים באים לעזרתנו
      • שלב ג : שימוש באוסף האובייקטים
      • עכשיו oChildren מחזיק אוסף של כל ה - Checkboxes . אם נרצה להגיע ל - Checkbox הראשון נשתמש ב - oChildren(0)
      • מה אפשר לעשות עם אוסף ?
      • כל מה שרק נרצה !
      • דוגמאות לשימושים שכיחים
      • סימון כלל ה - Checkboxes
      • סימון כל ה - Checkboxes עם תכונה כלשהי ( אפילו RO )
      • האפשרויות ממש בלתי מוגבלות
      • הזנה של שדות רנדומאליים
      • הזנה רק של שדות חובה
      • אין תחזוקה ( שדות חדשים מתווספים אוטומטית , לא מושפע משינויי UI )
      • מאפשר סינון אובייקטים על פי תנאים מאוד מורכבים ( כל מה שאפשר לכסות ב - If )
      • והרשימה עוד ארוכה ...
      • OK , זה אכן מגניב , אבל אפשר לעשות את זה רק לאובייקטים הפנימיים במסך כלשהו
      • האם אפשר באופן דומה להשיג אוסף של החלונות הראשיים של האפליקציה ?
      • בוודאי
      • ראינו איך DP מאפשר לעבוד בלי ה - OR
      • לפעמים כי אנחנו חייבים
      • לפעמים זה פשוט יותר קליל ומועיל
      • DP מגיע עם המון פיצ ' רים מגניבים , שהופכים אותו לבלתי נפרד מאוטומציה טובה ב - QTP
      • Taste it, Experience it, Learn it, Use it, Love it
      • It’s worth your while
      • וזה היה DP ב -60 שקופיות פשוטות

    + Yaron AssaYaron Assa, 3 years ago

    custom

    4396 views, 0 favs, 2 embeds more stats

    לימוד תכנות תיאורי (Descriptive Pro more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 4396
      • 4349 on SlideShare
      • 47 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds
    • 46 views on http://www.advancedqtp.co.il
    • 1 views on file://

    more

    All embeds
    • 46 views on http://www.advancedqtp.co.il
    • 1 views on file://

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?