PracticU

Web Elements - חלק 2

בלי כתוביותעם כתוביות
PracticU › קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium › Web Elements - חלק 2
מילון מושגים:
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
אינדקס - מבנה במסד נתונים שמאיץ חיפוש ושליפה. גם מספר המציין מיקום של איבר במערך.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
חריגה - מצב שגיאה שמתרחש בזמן ריצת התוכנית ומפסיק את המהלך הרגיל, אלא אם הקוד תופס ומטפל בו.

Web Elements - חלק 2
השיעור ממשיך את העבודה עם קבוצת WebElements. מוצגת לולאה שעוברת על כל הערים בטבלה, נכנסת לכל אחת, ובודקת שהכותרת של הדף מכילה את שם העיר.
השלבים העיקריים
1. מעבר לפי אינדקס: במקום לולאת for-each, משתמשים בלולאת for רגילה עם משתנה i, שמתחיל ב-0 ועובר עד גודל הרשימה. לכל אינדקס מקבלים את האלמנט בעזרת get(i).
2. שמירת שם העיר: לפני הלחיצה, getText() מחזיר את שם העיר, והערך נשמר במשתנה.
3. לחיצה והמתנה: לוחצים על הלינק, ואז Thread.sleep ממתין לטעינת הדף. הפקודה דורשת טיפול בחריגה InterruptedException.
4. בדיקת הכותרת: מוצאים את ה-h1 לפי XPath, ומשווים את הטקסט שלו. הבדיקה מחפשת את הביטוי "weather in" + שם העיר בעזרת contains.
5. חזרה לטבלה: navigate().back() חוזר לטבלה, ואחרי הטעינה מוגדרת הרשימה מחדש, כי הרשימה הישנה כבר לא תקפה.
שימו לב
בהרצה הראשונה נפלה הבדיקה, כי הדף עדיין לא נטען כשהפקודה נשלחה. לכן הוסיפו המתנה לפני הלחיצה, ואחרי חזרה לטבלה. הרשימה שנאספה לפני הניווט לא תקפה אחרי הניווט, ויש לאסוף אותה מחדש.
תרגלו את הלולאה על טבלה אחרת, והוסיפו בדיקה שמדפיסה הצלחה או כשלון לכל עיר.
השיעור הבא בקורס: Wait For Web Element - חלק 1

פרקי ההרצאה: Web Elements - חלק 2

  1. 00:00

    חזרה: אוסף WebElements ו-findElements

  2. 01:16

    קולקשן של תגיות קישור בטבלה

  3. 02:16

    מעבר על הקולקשן עם foreach

  4. 04:25

    מעבר על הקולקשן בלולאה עם אינדקס

  5. 05:33

    קליק על אלמנט לפי אינדקס עם get

  6. 06:30

    המתנה של שתי שניות עם sleep

  7. 07:25

    זיהוי כותרת h1 בעזרת XPath

  8. 08:14

    שליפת כותרת הדף לתוך משתנה

תמלול ההרצאה: Web Elements - חלק 2

הטקסט המלא של הדקות הראשונות בהרצאה «Web Elements - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם, בסרטון הקודם הכרנו את ה-WebElements, את ה-Collection של אלמנטים, של WebElements, איך אנחנו ניגשים אליו, איך אנחנו מוצאים אותו.

  2. 00:12

    ראינו שאנחנו צריכים למצוא את ה-Expat הנכון כדי להכניס לתוך Collection WebElements ואז לעשות מגוון של דברים. היום נמשיך לתרגל את הנושא הזה, WebElements, ונראה תרגול נוסף, יכולות נוספות שאנחנו עושים בעזרת הסינניום ובעזרת ה-FindElements.

  3. 00:35

    אז ראינו ש-WebElement1 זה כפתור, שדה, קישור, כותרת, אימג', לוגו, כל דבר אחר שנמצא בדף HTML שלנו.

  4. 00:48

    לפעמים לא נרצה להתייחס ל-WebElement ספציפי אלא ל-collection, לקבוצה של WebElements. ראינו טבלה של קישורים, טבלה של שדות, טבלה של כפתורים ואנחנו רוצים לסרוק את הטבלה הזאת או את האוסף הזה של האלמנטים.

  5. 01:07

    איך אנחנו מוצאים את הקבוצת אלמנט אם אנחנו משתמשים באקספאט שנותן לנו זיהוי מעובה של אלמנטים על ידי שימוש בזיהוי היררכי וזיהוי של אבא שמכיל מתחתיו כמה סוגים של אותו תגית שאנחנו מחפשים קולקשן יהיה אוסף של תגיות מסוג מסוים לדוגמה תגיות מסוג a לינק תגיות מסוג input תגיות מסוג

  6. 01:39

    או איזשהו תגית אחרת של html מה אנחנו יכולים לעשות בקולקשן יכולים לסרוק אותה לדעת כמה אייטמים יש בתוכה אנחנו יכולים לעבור ולהיכנס לכל קישור בתוכה לסרוק את הטקסט שלה וכדומה איך אנחנו נגיע לאלמנט ספציפי בתוך הקולקשן היום נדגים את זה אנחנו נשתמש ביכולת

  7. 02:07

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

  8. 02:43

    את קישורים לתוך ה-Web-Element הזמני E ורצנו על ה-4 הזה. ה-4 E יודע לספור כמה אייטמים יש בתוך Cities ולרוץ כל פעם הוא מחליף אייטם אייטם בהתחלה אייטם 0 אייטם 1 אייטם 2 אייטם 3 וכדומה עד שהוא צורך את כל האייטמים ופה הדפסנו אייטם אייטם.

  9. 03:08

    השלב הבא הייתי רוצה לבצע משהו אחר הייתי רוצה לבצע בדיקה שבה אני נכנס עיר עיר בטבלה הזאת ובעצם מוודא שהכותרת מכילה את הטקסט weather in שם העיר שאנחנו רוצים שוב אני חוזר אני רוצה לבצע לחיצה על כל אחד ואחד מהערים בטבלה ולוודא שיש לי את הטקסט הזה בכותרת אוקיי יש לי את הטקסט הזה ללא הארץ אלא רק weather in Dublin לדוגמה ויידר אין לונדון ויידר אין ניו יורק אבל

  10. 03:45

    אני רוצה לעשות את זה בצורה אוטומטית דינמית ולא בצורה של טקסט שאני אכתוב אחד אחד אז איך אנחנו מבצעים את זה בעצם בואו נמשיך מהמקום שעצרנו הגענו למצב שיש לנו בעצם את הקולקשן זיהינו את הערים והכנסנו את זה לקולקשן מסוג ליסט שהם הכילו אבל כדי לבצע את הפעולה הבאה אנחנו לא נוכל להשתמש בה for אלא נהיה חייבים להשתמש בפלולת for רגילה כי אנחנו צריכים לעבוד עם אינדקס,

  11. 04:29

    תכף אני אסביר למה אני מתכוון. אז בואו נתחיל ונבצע את הריצה על האייטמים בתוך cities בעזרת for רגיל. אז ה-for שלי מתחיל בהכרזה על אינט מסוג i זה האינדקס, נתחיל אותו ב-0 ונבצע call node i קטן מה-size של ה-cd, אז אם אני כותב את זה ככה נקודה אוקיי זה כל הסך הכל אייטמים שנמצאים בתוך הליסט שלי

  12. 05:11

    בתוך הסייד בתוך הסיטיז ונקדם את האינדקס שלי באחד כל פעם ונפתח סוגריים על מנת להתחיל לבצע פעולו אז מה שאני רוצה לבצע בפעולה הראשונה זה לבצע לחיצה את הפעולה הזאת עם זה אין לנו בעיה זאת אומרת אנחנו יכולים לבצע את זה די בקלות על ידי הסינטקס הבא יש לנו את אותו קולקשן נקודה כאן אני רוצה

  13. 05:44

    להגיד get אני רוצה להגיד תביא לי אייטם מסוים מתוך הקולקשן ואני אצטרך לתת לו את האינדקס שלו בהתחלה האינדקס הראשון יהיה 0 נכתוב i וכל פעם הוא יתקדם ויסרוק לי עוד אינדקס של האייטמים בתוך הcities אוקיי אז אנחנו כבר יש לנו דרך לסרוק את ה-item-item בתוך

  14. 06:12

    ה-collection של ה-sitting על ידי get ושימוש באינדקס של ה-4 שמתקדם כל פעם. כאן נבצע את הפעולה שאנחנו רוצים, קליק. פה אני רוצה להראות לכם משהו נוסף, אני רוצה לחכות כמה שניות, אז אני מוסיף את הסינטקס הבא, sleep זה סינטקס של Java, חכה שנייה, זה 1000 מיליסקנד,

  15. 06:43

    אנחנו נצטרך להוסיף add row declaration, האפשרות של הג'אווה להתמודד עם כישלון של הפקודה הזאתי זו פקודה חיצונית לקלאס ואנחנו צריכים להוסיף לאקספשן על ידי מכש אם אני טרואוד אקספשן דקלריישן אינטראקט אקספשן אנחנו נייחס לזה שיעור בהמשך על ההסבר של איך להשתמש באקספשנים ואיך להשתמש בסליפינג ובטיים

  16. 07:12

    ווייט אבל כרגע אנחנו נותנים לו זמן המתנה ולאחר מכן בעצם ניתן לו שתי שניות 2000 מיליסקונט ולאחר מכן בעצם הגענו לדף הזה weather in akra אז לצורך זה אני אצטרך להשתמש ב developer tools ואני ארצה למפות את אותו אלמנט שאני רוצה לבדוק אוקיי יש לי את ה h1 אני ארצה לעשות לו copy xpath ואני ארצה כאן לבדוק את זה כן זה ה h1 שלי אני לא חייב את

  17. 07:59

    כל הטקסט יש לי רק h1 בתוך הדף אז אני משאיר סלס סלאש תסרוק לי את כל הדף h1 תביא לי את הזיהוי הזה של ה-WebElement הספציפי הזה שמכיל את הטקסט שאני רוצה לבדוק whether in city name אז כרגע מה שאני צריך לעשות זה לקבל לתוך סטרינג את ה-Title או Page Title נקרא לו אוקיי שווה דרייבר נקודה findElement by xpath ואני

  18. 08:47

    אני מדביק פה את הזיהוי שלקחנו קודם, אוקיי?

לקורס המלא: קורס סלניום Selenium בסיסי

ההרצאה הקודמת: Web Elements - חלק 1

ההרצאה הבאה: Wait For Web Element - חלק 1

הרצאות קשורות מקורסים אחרים

  • מה זה Web Service
  • TS Web Access
  • הסבר על מה זה Web API
  • Classic Web Service

קורסים נוספים במסלול

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API
  • קורס Robot Framework - בדיקות QA ממשק גרפי
  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס סלניום מתקדם - CI/CD - Continues Integration
  • קורס מייבן - Maven