
Actions action = new Actions(driver) מקבל את הדרייבר הקיים.build() ומבוצע עם perform(). בלי שתי הקריאות האלה לא מתבצע דבר.הטקסט המלא של הדקות הראשונות בהרצאה «Actions on WebDriver» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בסרטון הקרוב נדבר על העשרת הטסט שלנו במגוון פעולות נוספות מעבר לפעולות הבסיסיות שהכרנו בשיעורים הקודמים הכרנו את הפעולות הבסיסיות שאנחנו יכולים לבצע על WebElements לדוגמה קליק וסנד קיז אבל לפעמים נרצה להעשיר את הטסט שלנו במגוון פעולות נוספות כגון מוב טו אלמנט דרג אנד דרוב דאבל קליק הקשת
מקש ימני ואחרים מה מה זה נותן לנו היתרון הזה של להשתמש ב-Action Library? Action Library בעצם מאפשר לנו לבצע מגוון פעולות ולדמות את הטסטים האלה ככל האפשר לפעילות של המשתמש האמיתי.
זאת אומרת, את היכולת שלו לשחק עם העכבר ולבצע Double Click, Click and Hold, Drag and Drop, Move to Element וכדומה, כמו שנראה בהמשך.
איזה פעולות אנחנו יכולים להוסיף לפעולות הבסיסיות שהכרנו, שזה קליק על ווב אלמנט או סנד קיז לתוך שדה אינפוט. אז הפעולות שאנחנו יכולים להוסיף בעזרת ספריית האקשנס הם, חלקם ציינתי במצגת, בואו נראה, מוב טו אלמנט, אנחנו יכולים להזיז את העכבר שלנו לאלמנט
מסוים בעזרת ספריית האקשן, תכף נראה את זה. קליק און אלמנט, אנחנו יכולים לבצע קליק, אין בזה יתרון על הקליק הרגיל שעשינו, אבל זה יכול להיות נוספת, ו-right click, context menu, אנחנו יכולים לפתוח מכש ימני, דאבל קליק, קליק אנד אורד, דרג אנד דרופ ועוד פעולות אחרות.
כל זה מתבצע בעזרת התשתית של ספריית האקשן, שמבוססת על ג'אווה סקריפט ומאפשרת לנו באמת לבצע מגוון פעולות נוסף מעבר לפעולות הבסיסיות של הסלניום של קליק אנד סנט קייס על מיט, שזה פעולת האנטר עד שדה אינקוט.
אז בואו נתחיל ונראה איזשהו תרגול על אקשן ליברי בעזרת הקליפס שלנו. בואו נעבור לסביבת העבודה שלי יצרתי לי פרויקט יצרתי בקאץ' קראתי לו אקשן ויצרתי לי קלאס הוא קלאס רגיל של סטטיק ווייד מיין יש לו את השם של הקלאס ופה את המתודה סטטיק ווייד מיין שהיא מתודת הרצה אנחנו יכולים לבצע ריצה בעזרתה
הכרזנו על הסיסטם סט פרופרטי על המשתנה מערכת הגדרנו את החום דרייבר דרייבר כחום נקודה אקזה ויש לנו את החום נקודה אקזה שמור במחשב שלנו בעזרתו אנחנו יכולים לעשות אתחול לאינסטנט של WebDriver/Driver שהוא מסוג HomeDriver, זאת אומרת אנחנו כבר פותחים את ה-HomeDriver, מבצעים כמה הגדרות של ניהול על ה-Driver כמו
חלון מקסימייז והגדרת implicit wait, זאת אומרת איזשהו wait דפולטי של 5 שניות, ה-wait הרגיל הוא 0 שניות, כך שיהיה לנו איזשהו timeout לפני כישלון, זאת אומרת איזושהי המתנה לפני שהוא לא מצליח לזהות אם הוא לא יצליח לזהות איזשהו אלמנט זה חשוב ואנחנו מגדירים את זה בעזרת השורה הזאת ואז אנחנו משתמשים בפקודה הבסיסי של driver.get ונכנסים לאתר מסוים זה האתר שאנחנו עליו מבצעים את
הבדיקות www.timeanddate.com זה האתר הפעולה שאני רוצה לעשות בדמו הזה זה להזיז את העכבר שלי לתפריט home שוב אני אם הרי אני מזיז את העכבר על התפריט home ורוצה לבצע את הבאוטאס עם נריצה על הבאוטאס אוקיי הבאוטאס אז יש לנו את העמידה על home ובחירה על הבאוטאס
למעשה אם אנחנו משתמשים רק בפעולות הבסיסיות של הסלניום אז יש לנו רק קליק אנחנו יכולים לבצע רק קליק על home כי הבאוטאס לא גלוי לנו עד שאנחנו עובדים על home כך שאנחנו צריכים לבצע את הפעולה הזאת בעזרתה ספרי אטקשן.
שוב אני חוזר הפעולה היא עמידה לאום ואחר כך לחיצה על הקישור about us. אז איך אני אבצע את זה בעצם? בואו נלך קצת לדמו ונראה מה אני בעצם רוצה לעשות. אז יש לי פה את החלק הזה.
אני קודם כל רוצה לעשות אתחול ל-WebElement שזה יהיה ה-Home Menu ואני מכריז על ה-Driver נקודה-FindElement לזה אותו בעזרת הלינק טקסט.
לינק טקסט הוא home אני יכול לוודא את זה נקודה פסיק ויש לי כאן את השם שלה בעצם את השם של ה-web-element הראשון אני אעתיק את השורה הזאתי ואני אשנה את ה-about us אני רוצה את ה-about us גם לזהות אז יש לנו את שתי הכישורים ובואו נראה בזה את ה-about us אם אני עומד עליו אני נמצא על הכישור של ה-about us עושה מכשי מני אינספקט
בעצם נפתח לי ואני רואה שוב נעשה את זה מכשי מני אנחנו רואים את האבאוטאס שכאן השם שלו זה הכישור זה הטקסט אוקיי אבאוטאס אבל הוא גלוי רק בזמן שאני עומד על home אם אני אנסה ללחוץ על אבאוטאס ללא השימוש בתעולה move through בעצם אני לא אצליח תכף אנחנו נדמה את זה אז יש לנו אותה הום ואת האבאוטאס.
אז מה שאנחנו רוצים לעשות כרגע בעזרת ספריית האקשנס זה רצף של פעולות של מדמי התנהגות אנושית של אני עומד על תפריט הום לא לוחץ על שום דבר ואז לוחץ על תפריט האבאוטאס אוקיי על הלינק של האבאוטאס הייתי יכול לבחור כמובן כל לינק אחר אבל זה כרגע הפעולה שאני רוצה לעשות בואו נבצע אותה הום אבאוטאס לחצתי הוא מביא אותי לדף הבא אז איך אני מבצע את
זה? קודם כל צריך להתחיל את ספריית האקשן, איך אני עושה את זה? אני יוצר אינסטנט שנקרא לו אקשן שווה New Actions ופה אני צריך לשלוח לו את הדרייבר שלי, אוקיי? ביצירת אינסטנט לספריית האקשן אני שולח את האינסטנט של הדרייבר שהתחלתי אותו פה, של הווייב דרייבר שלי, אוקיי?
ואחר כך אני יכול להתחיל לעבוד. אז איך אני בעצם עושה את זה? אני כותב אקשן, נקודה, פה יש לי כבר את הרשימה של כל הפעולות שאני יכול לבצע בעזרת הספריית אקשן, בואו שוב נעשה את זה ונראה את כל הרשימה, אז יש לנו פה את הקליק ואת הקליק אנד הולד וקונטקסט קליק ודאבל קליק ודראג אנד רוב, אנחנו רואים את האפשרות
לשלוח פרמטרים נוספים או לא לשלוח פרמטרים, קי-דאון זה גם האפשרות שלנו, של אפשרות של פעולות מקלדת, ויש לנו move by offset זה ממש פעולת עכבר ויש לנו את ה-pause ויש לנו את ה-release ויש לנו גם את ה-tick ואת ה-drag and drop כמו שאמרנו ו-move to element זה מה שאני מחפש בעצם אז יש לי את ה-move to element ואני
צריך להגיד לו מה הטארגט שלי שזה ה-home אז אני אבחר אותו ואני אעשה פייסט אני לא צריך לעשות שום דבר מלבד זה ומה שיפה בפעולה הזאת של האקשן זה שהוא מאפשר לנו לבצע רצף של פעולות זאת אומרת אקשן move to ואז אני יכול לבצע בעצם את הקליק על וב אלמנט איזה וב אלמנט אני רוצה לרחוץ about us זאת אומרת בחלק הראשון ביצעתי תזוזת עכבר לתוך האלמנט
home menu ובחלק השני ביצעתי את הקליק עצמו מה שחשוב לזכור בסוף התהליך זה לבצע