לפני שנלמד כיצד לעבוד עם סלניום Webdriver, חשוב שנדע איך הוא עובד וממה הוא בנוי .

הארכיטקטורה של ה-Webdriver אינה דומה לזו הקודמת אותה הוא בא להחליף, ה-Remote Control. בזמן שהשני ניסה להשתלט על הדפדפן בעזרת JS מתוך הדפדפן, ה-Webdriver עושה זאת מחוץ לדפדפן בעזרת API.

ישנן אפליקציות שונות שמשתמשות ב-API הזה, ה-Webdriver עושה זאת בצורה המשכנעת ביותר, אם ניקח לדוגמא את דפדפן הפיירפוקס, נראה כי הוא משתמש ב-JavaScript בכדיי לגשת ל-API , ואילו אם ניקח את הדפדפן אינטרנט אקספלורר נראה כי הוא משתמש ב ++C.

הגישות הללו נותנות לנו את היכולת לשלוט בדפדפנים בצורה אידיאלית אך החסרון הוא כשקמים דפדפנים חדשים בשוק ייקח זמן עד שה-Webdriver יתמוך בהם (בניגוד לסלניום RC). במידה ואין לנו גישה לדפדפן מסויים (תהא הסיבה אשר תהא) תמיד נוכל להזריק קוד JavaScript אל תוך הדפדפן.

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

דוגמא לאובייקטים ב-API:

driver.findElement(By.name("Test"));

אנו רואים פה דוגמא של שימוש במתודת findElement , אין אנו צריכים לממש פעולה זו אלא רק לקרוא לה (המימוש מגיע מתוך ה-webdriver).

 

תרגום הפקודות שלנו מפורשות לממשק שנקרא: SPI – Stateless Programming Interface , זהו מנגנון שמזהה את האלמנטים עליהם עובדים ומחיל עליהם פעולות מסויימות (כמו קליק).

דוגמא לאובייקט ב-SPI:

findElement(using="name", value="Test");

 

השלב הבא יביא אותנו לדבר עם הדפדפן, המערכת עושה זאת בעזרת – JSON Wire protocol , שהוא סוג של פרוטוקול להעברת נתונים , ובכך מתבצעת תקשורת המבוססת שרת (Webdriver) לקוח (Browser).

 

ה-API מתממשק ישירות לדרייברים השונים. לכל דפדפן קיים דרייבר משלו (זאת בשל העובדה כי לכל דפדפן מנוע Java Script משלו) , הרעיון המרכזי שעומד מאחורי הדרייבר הוא שזה יודע לדבר ישירות עם השכבות הנמוכות יותר של הדפדפן ולהפעיל עליו פעולות כמו לחיצה על אלמנט במסך, כניסה לכתובת מסויים, שליפת נתונים וכו'. כאמור דרייבר פר דפדפן.

 


 

arrowBackarrowMainarrowFor

השאר הערה\הודעה