
By.xpath שסורק את כל העץ אחר אלמנט שהטקסט שלו שווה לטקסט שהועתק, ואז click.findElement עם By.id ואז sendKeys עם הערך 400.purchase button, ואחריו click.assertEquals שהטקסט הוא 400 ש"ח.getText, sendKeys ו-click, פועלות גם על אפליקציה דרך ה-AndroidDriver.הטקסט המלא של הדקות הראשונות בהרצאה «כתיבת טסטים - זיהוי אלמנטים - שליחת טקסט לאלמנט» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בסרטונים האחרונים ראינו איך אנחנו ממשיקים דרך ה-Appium Server ל-Device Mobile שאותו אנחנו רוצים לבצע תיקה, איך אנחנו טוענים בעזרת ה-capability את הפרטים כדי לטעון את האפליקציה, ואיך אנחנו מתחילים לזהות אלמנטים על ידי כמה כלים כמו ה-Appium Inspector או ה-UI Automator.
בשיעור הנוכחי נעשה עוד כמה פעולות על מנת לעשות את זה אינטואיטיבי יותר, את הנושא הזה של התממשקות עם אפליקציה וביצוע פעולות.
אז בואו נראה, בסרטון הקודם הגענו למסך הזה של gift card למסעדות שף ווידאנו את הטקסט של התוצאות חיפוש. בשיעור הנוכחי נרצה לבצע שתי פעולות על האלמנטים, קודם כל להיכנס ל-buy me שף, לחיצה פה והפעולה השנייה נרצה לציין כמה בעצם סכום אנחנו רוצים להתאים בכרטיס, לדוגמה 400 שקל, ולחיצה על בחירה.
זה רצף הפעולות שנרצה לבצע, אז בואו נחזור אחורה ונזהה את האלמנטים שאנחנו רוצים לבצע. אז אנחנו רוצים ללחוץ על הלינק הזה, על הקישור הזה בעצם.
אז אני אלך ל-UI Automator ואני אסמן אותו, אני אלכד אותו. מה שאנחנו רואים שהטקסט יכול לשמש אותנו כאיזשהו מאפיין שקל לי לזהות.
בואו נראה את זה. אני פוחץ וצובע, בעצם מעתיק את הטקסט, אני חוזר ל-ID שלי וכאן אני ארצה לבצע, זה היה הסרט הראשון, אני רוצה לבצע דרייב אלמנט, פייבישף ודרייבר אלמנט ביי אקספאטי.
והביטוי האקספאטי שלנו כשהוא מתבסס על טקסט יהיה בצורה כזאת: סרוק את כל העץ, חפש כל אלמנט, אבל הטקסט שלך צריך להיות שווה לטקסט שהעתקנו.
לאחר מכן נרצה לבצע את הקליפ. לחיצה אחת בואו נראה שזה עובד כמו שצריך ובצורה תקינה והוא בחר לו את ביי מי שף ופה אנחנו. השלב הבא שלנו יהיה בעצם להזין טקסט בעזרת ה-UI אוטומטור בואו נצא עוד פעם את הסקרינשוט בעזרת ה-UI אוטומטור לידי לחיצה על הכפתור הזה device screenshot with compressed hierarchy.
ברגע שאני מבצע זה, אתן את זה עוד פעם, ברגע שאני טוען את זה, אז יש לי באמת את הסנפשוט שאני רוצה.
עכשיו, מה שאני רוצה לעשות זה לסמן את השדה הזה על ידי לחיצה, ואני יכול לראות שיש לי ID. כשיש לי ID ברור וחד ערכי, זאת אומרת, ID שלא מופיע בעוד מקום במסך, אז אני יכול להשתמש בו.
אני לא צריך להשתמש בטקסט או m-text בכלל. אז אני יכול לקחת את ה-ID, Price Edit Text, ולחזור ל-ID שלי, ולעשות ככה WebElement ואני אשתמש ב-ID גם כשם השדה DriverFindElementBy הפעם אני אשתמש ב-ID ואני אעתיק את ה-ID שור והפעם אני אבצע את ה-Sent Keys
אני ארשום 400 הדבר הבא שאני ארצה לבצע זה לחיצת המשך זאת אומרת לחיצה אחרי שהקשתי פה 400 וללחוץ לבחירה אז בואו נלך עוד פעם ל-UI אוטומטור ונסמן מלכדת עוד פעם את המסך והפעם נלחץ על לבחירה ואנחנו רואים שיש לו ID מאוד ברור purchase button ואנחנו יכולים להשתמש בו אז אני חוזר ל-ID
שלי ומבצע לחיצה יש לי את ה-ID ופה אני אבצע פשוט קליק אז בואו נריץ ונראה באמת שהדברים מתבצעים אני מריץ עושה את זה שוב בדיבאג ואני עובר ל-AnyDesk כדי לראות את המערכת התממשקת.
אז יש לנו את הלחיצה ביי מ-שף ואז הקשה ל-400 לבחירה ואנחנו הגענו למסך הבא שבמסך הבא אני רוצה לבדוק שיש לי את הטקסט הזה למי המתנה אז בואו נראה גם איך אני עושה את זה ב-UI אוטומטור אני אלחץ עוד פעם על הסקרין שוט לקיחת הסקרין שוט יש לי הודעת שגיאה שאומרת שבעצם ה-session נחסם על ידי האפיום, זה אומר שהאפיום עדיין תופס לי את התקשורת.
אני אעצור את הטסט ואנסה שוב, שוב סשן שהאפיום בעצם תופס את התקשורת, הנה עכשיו זה השתחרר, זה בערך חצי דקה שאי אפשר להתחבר דרך ה-UI אוטומטור אחרי ריצה, אז אני עכשיו אוכל להתחבר,