במאמר הזה מוסבר איך לשתף תהליכי שימוש, לערוך אותם ואת השלבים שלהם, באמצעות חלונית הקלטה בכלי הפיתוח ל-Chrome.
במאמר הקלטה, הפעלה חוזרת ומדידה של תהליכי שימוש מוסבר על העקרונות הבסיסיים לעבודה עם החלונית Recorder.
הסבר והתאמה אישית של מקשי הקיצור
אתם יכולים להשתמש במקשי קיצור כדי לנווט במכשיר ההקלטה מהר יותר. ניתן לראות רשימה של מקשי הקיצור שמוגדרים כברירת מחדל במאמר בנושא מקשי קיצור בחלונית מכשיר ההקלטה.
כדי לפתוח רמז עם רשימה של כל קיצורי הדרך ישירות מתוך מכשיר ההקלטה, לוחצים על
הצגת קיצורי דרך בפינה השמאלית העליונה.כדי להתאים אישית את מקשי הקיצור של מכשיר ההקלטה:
- פתיחת הגדרות > קיצורי דרך.
- גוללים למטה אל הקטע מכשיר הקלטה.
- פועלים לפי השלבים שמפורטים בקטע התאמה אישית של מקשי קיצור.
עריכה של תהליכי העבודה של המשתמשים
בחלק העליון של החלונית מצלמה יש אפשרויות ל:
- הוספת הקלטה חדשה. לוחצים על הסמל + כדי להוסיף הקלטה חדשה.
- הצגת כל ההקלטות. ברשימה הנפתחת תוצג רשימת ההקלטות השמורות. בוחרים באפשרות [מספר] ההקלטות כדי להרחיב ולנהל את רשימת ההקלטות השמורות.
ייצוא הקלטה. כדי להתאים אישית את הסקריפט או לשתף אותו למטרות דיווח על באגים, ניתן לייצא את זרימת המשתמשים באחד מהפורמטים הבאים:
- קובץ JSON.
- סקריפט @puppeteer/replay.
- סקריפט Puppeteer.
- Puppeteer (כולל ניתוח של Lighthouse).
למידע נוסף על הפורמטים, אפשר לעיין במאמר ייצוא תהליך של משתמש.
ייבוא הקלטה. רק בפורמט JSON.
מחיקת הקלטה. מוחקים את ההקלטה שנבחרה.
אפשר גם לערוך את שם ההקלטה בלחיצה על לחצן העריכה שלצדה.
שיתוף תהליכי המשתמש
ניתן לייצא ולייבא תהליכים של משתמשים במכשיר ההקלטה. האפשרות הזו שימושית לדיווח על באגים, כי אפשר לשתף תיעוד מדויק של השלבים ליצירת הבאג. אפשר גם לייצא אותו ולהפעיל אותו מחדש באמצעות ספריות חיצוניות.
ייצוא תהליך עבודה של משתמש
כדי לייצא תהליך משתמש:
- פותחים את תהליך העבודה של המשתמשים שרוצים לייצא.
- לוחצים על ייצוא בחלק העליון של החלונית מכשיר ההקלטה.
- בוחרים אחד מהפורמטים הבאים מהרשימה הנפתחת:
- קובץ JSON. מורידים את ההקלטה כקובץ JSON.
- @puppeteer/replay. מורידים את ההקלטה כתסריט להפעלה חוזרת של בובות.
- Puppeteer. הורד את ההקלטה כתסריט של Puppeteer.
- Puppeteer (כולל ניתוח של Lighthouse). מורידים את ההקלטה כסקריפט של Puppeteer עם ניתוח מוטמע של Lighthouse.
- אחת או יותר מהאפשרויות שסופקו על ידי התוספים לייצוא של מכשיר ההקלטה.
- שומרים את הקובץ.
אתם יכולים לבצע את הפעולות הבאות בכל אפשרות ייצוא שמוגדרת כברירת מחדל:
- JSON. עורכים את אובייקט ה-JSON קריא לאנשים וimport את קובץ ה-JSON חזרה אל מכשיר ההקלטה.
- @puppeteer/replay. מפעילים מחדש את התסריט באמצעות הספרייה Puppeteer Replay. כשמייצאים כסקריפט של @puppeteer/replay, השלבים נשארים כאובייקט JSON. האפשרות הזו מושלמת אם אתם רוצים לשלב את הכלי בצינור עיבוד הנתונים של CI/CD, אבל עדיין רוצים ליהנות מהגמישות של עריכת השלבים כ-JSON, ולאחר מכן להמיר אותם ולייבא אותם חזרה ל-Recorder.
- סקריפט Puppeteer. מפעילים מחדש את הסקריפט באמצעות Puppeteer. מאחר שהשלבים מומרים ל-JavaScript, תוכלו לבצע התאמה אישית פרטנית יותר, לדוגמה, לחזור על השלבים בלופ. אזהרה אחת: לא ניתן לייבא את הסקריפט הזה חזרה אל מכשיר ההקלטה.
Puppeteer (כולל ניתוח של Lighthouse). אפשרות הייצוא הזו זהה לאפשרות הקודמת, אבל היא כוללת קוד שיוצר ניתוח מסוג Lighthouse.
מריצים את הסקריפט ובודקים את הפלט בקובץ
flow.report.html
:# npm i puppeteer lighthouse node your_export.js
ייצוא בפורמט מותאם אישית באמצעות התקנת תוסף
ייבוא תהליך של משתמש
כדי לייבא תהליך משתמש:
- לוחצים על הלחצן ייבוא בחלק העליון של החלונית מכשיר ההקלטה.
- בוחרים את קובץ ה-JSON עם תיעוד התהליך של המשתמש.
- לוחצים על הלחצן הפעלה מחדש כדי להפעיל את תהליך הרכישה שיובאו.
הפעלה מחדש באמצעות ספריות חיצוניות
Puppeteer Replay היא ספריית קוד פתוח שמנוהלת על ידי צוות כלי הפיתוח של Chrome. הוא בנוי על Puppeteer. זהו כלי שורת פקודה שמאפשר להפעיל מחדש קובצי JSON.
בנוסף, אפשר לבצע טרנספורמציה של קובצי JSON ולהפעיל אותם מחדש באמצעות ספריות הצד השלישי הבאות.
טרנספורמציה של תהליכי משתמש ב-JSON לסקריפטים מותאמים אישית:
- Cypress Chrome Recorder. אפשר להשתמש בו כדי להמיר קובצי JSON של תהליך משתמש לסקריפטים של בדיקות ב-Cypress. כדאי לצפות בהדגמה הזו כדי לראות איך זה עובד.
- מכשיר הקלטה של Chrome לשעון לילה אפשר להשתמש בו כדי להמיר קובצי JSON של זרימת משתמשים לסקריפטים לבדיקה של שעון הלילה.
- CodeceptJS ל-Chrome Recorder. אפשר להשתמש בו כדי להמיר קובצי JSON של תהליך משתמש לסקריפטים של בדיקות ב-CodeceptJS.
הרצת מחדש של תהליכי משתמש ב-JSON:
- הפעלה חוזרת עם Testcafe. אפשר להשתמש ב-TestCafe כדי להפעיל מחדש את קובצי ה-JSON של זרימת המשתמשים וליצור דוחות בדיקה להקלטות האלה.
- הפעלה חוזרת באמצעות Sauce Labs. אפשר להפעיל מחדש את קובצי ה-JSON ב-Sauce Labs באמצעות saucectl.
ניפוי באגים במסלולי משתמשים
כמו כל קוד, לפעמים צריך לנפות באגים בתהליכי המשתמש שתועדו.
כדי לעזור לכם לנפות באגים, החלונית Recorder מאפשרת להאט את ההפעלות החוזרות, להגדיר נקודות עצירה, לבצע את כל השלבים ולבדוק את הקוד בפורמטים שונים במקביל לשלבים.
האטת ההפעלה החוזרת
כברירת מחדל, מכשיר ההקלטה מפעיל מחדש את זרימת המשתמש במהירות האפשרית. כדי להבין מה קורה בהקלטה, אפשר להאט את מהירות ההקלטה:
- פותחים את התפריט הנפתח הפעלה חוזרת.
- בוחרים באחת מהאפשרויות של מהירות ההפעלה מחדש:
- רגילה (ברירת מחדל)
- מהירות נמוכה
- איטי מאוד
- איטית מאוד
בדיקת הקוד
כדי לבדוק את הקוד של מסלול משתמש בפורמטים שונים:
- פותחים הקלטה בחלונית מכשיר ההקלטה.
- לוחצים על הצגת הקוד בפינה השמאלית העליונה של רשימת השלבים.
- במכשיר ההקלטה מוצגות השלבים והקוד שלהם זה לצד זה.
- כשמעבירים את העכבר מעל שלב כלשהו, מכשיר ההקלטה מדגיש את הקוד המתאים בכל פורמט, כולל אלה שמסופקים על ידי תוספים.
מרחיבים את רשימת הפורמטים הנפתחת כדי לבחור את הפורמט שבו רוצים לייצא תהליכים של משתמשים.
הוא יכול להיות אחד משלושת הפורמטים שמוגדרים כברירת מחדל (JSON, @puppeteer/replay, Puppeteer script) או פורמט שסופק על-ידי תוסף.
כדי לנפות באגים מההקלטה, עורכים את הפרמטרים והערכים של השלבים. לא ניתן לערוך את תצוגת הקוד, אבל היא מתעדכנת בהתאם כשמבצעים שינויים בשלבים שבצד ימין.
הגדרת נקודות עצירה (breakpoint) וביצוע שלב אחר שלב
כדי להגדיר נקודת עצירה ולהפעיל שלב אחרי שלב:
- מעבירים את העכבר מעל העיגול לצד שלב כלשהו בהקלטה. העיגול הופך לסמל של נקודת עצירה (breakpoint) .
- לוחצים על סמל נקודת העצירה ומפעילים מחדש את ההקלטה. הביצוע מושהה בנקודת העצירה (breakpoint).
- כדי לעבור את שלב הביצוע, לוחצים על הלחצן ביצוע שלב אחד בסרגל הפעולות שבחלק העליון של החלונית מכשיר ההקלטה.
- כדי להפסיק את השידור החוזר, לוחצים על ביטול ההקלטה.
עריכת השלבים
כדי לערוך כל שלב בהקלטה, לוחצים על הלחצן שלצידו, גם במהלך ההקלטה וגם לאחר מכן.
אפשר גם להוסיף שלבים חסרים ולהסיר שלבים שנרשמו בטעות.
הוספת שלבים
לפעמים צריך להוסיף שלבים באופן ידני. לדוגמה, הכלי להקלטת נתונים לא מתעד באופן אוטומטי אירועים מסוג hover
כי הם מזהמים את ההקלטה ולא כל האירועים האלה שימושיים. עם זאת, רכיבי ממשק משתמש כמו תפריטים נפתחים יכולים להופיע רק ב-hover
. אפשר להוסיף באופן ידני שלבים של hover
לתהליכים של המשתמשים שתלויים ברכיבים האלה.
כדי להוסיף שלב באופן ידני:
- פותחים את דף הדמו הזה ומתחילים הקלטה חדשה.
- מעבירים את העכבר מעל הרכיב באזור התצוגה. יופיע תפריט פעולות.
- בוחרים פעולה מהתפריט ומסיימים את ההקלטה. מכשיר ההקלטה מתעד רק את האירוע מסוג קליק.
- לוחצים על הפעלה מחדש כדי לנסות להפעיל מחדש את ההקלטה. ההפעלה החוזרת נכשלת אחרי שעבר הזמן הקצוב לתפוגה כי מכשיר ההקלטה לא יכול לגשת לרכיב בתפריט.
- לוחצים על לחצן שלוש הנקודות שלצד השלב לחיצה ובוחרים באפשרות הוספת שלב לפני.
- מרחיבים את השלב החדש. כברירת מחדל הוא מסוג
waitForElement
. לוחצים על הערך שלידtype
ובוחרים באפשרותhover
. - בשלב הבא, מגדירים בורר מתאים לשלב החדש. לוחצים על הסמל בחירה, ואז לוחצים על אזור ברכיב
Hover over me!
שנמצא מחוץ לתפריט הקופץ. הבורר מוגדר ל#clickable
. - מנסים להשמיע מחדש את ההקלטה. לאחר השלב של העברת העכבר שנוסף, מכשיר ההקלטה מפעיל מחדש את התהליך.
הוספת טענות נכוֹנוּת (assertions)
במהלך ההקלטה, אפשר לאמת, למשל, מאפייני HTML ומאפייני JavaScript. כדי להוסיף טענת נכוֹנוּת (assertion):
- מתחילים את ההקלטה, למשל בדף הדגמה הזה.
לוחצים על Add assertion (הוספת טענת נכוֹנוּת) (assertion).
מכשיר ההקלטה יוצר שלב
waitForElement
שניתן להגדרה.מציינים בוררים לשלב הזה.
מגדירים את השלב אבל לא משנים את הסוג שלו
waitForElement
. לדוגמה, אפשר לציין:- מאפיין HTML. לוחצים על הוספת מאפיינים ומקלידים את השם והערך של המאפיין שבו משתמשים הרכיבים בדף הזה. לדוגמה,
data-test: <value>
. - נכס JavaScript. לוחצים על Add properties ומקלידים את השם והערך של הנכס בפורמט JSON. לדוגמה,
{".innerText":"<text>"}
. - מאפייני שלב אחרים. לדוגמה,
visible: true
.
- מאפיין HTML. לוחצים על הוספת מאפיינים ומקלידים את השם והערך של המאפיין שבו משתמשים הרכיבים בדף הזה. לדוגמה,
ממשיכים להקליט את שאר תהליך השימוש של המשתמש ואז מפסיקים את ההקלטה.
לוחצים על הפעלה מחדש. אם טענת נכוֹנוּת (assertion) נכשלת, מכשיר ההקלטה יציג שגיאה לאחר זמן קצוב לתפוגה.
כדי לראות איך פועל תהליך העבודה הזה, צפו בסרטון הבא.
העתקת השלבים
במקום לייצא את כל תהליך השימוש, אפשר להעתיק שלב אחד בלבד ללוח העריכה:
- לוחצים לחיצה ימנית על השלב שרוצים להעתיק או לוחצים על סמל שלוש הנקודות שלצידו.
- בתפריט הנפתח, בוחרים באחת מהאפשרויות של העתקה כ....
אפשר להעתיק שלבים בפורמטים שונים: JSON, Puppeteer, @puppeteer/replay ופורמטים שסופקו על ידי תוספים.
הסרת השלבים
כדי להסיר שלב שתועד בטעות, לוחצים לחיצה ימנית על השלב או לוחצים על סמל שלוש הנקודות שלצידו ובוחרים באפשרות הסרת השלב.
בנוסף, מכשיר ההקלטה מוסיף באופן אוטומטי שני שלבים נפרדים לתחילת כל הקלטה:
- הגדרת אזור התצוגה. מאפשרת לשלוט במאפיינים אחרים, בגודל ובשינוי התצוגה של אזור התצוגה.
- ניווט. מגדיר את כתובת ה-URL ומתרענן את הדף באופן אוטומטי בכל הפעלה חוזרת.
כדי לבצע אוטומציה בדף בלי לטעון מחדש את הדף, מסירים את שלב הניווט כפי שמתואר למעלה.
הגדרת השלבים
כדי להגדיר שלב:
מציינים את הסוג שלו:
click
,doubleClick
,hover
, (קלט)change
,keyUp
,keyDown
,scroll
,close
,navigate
(לדף),waitForElement
,waitForExpression
אוsetViewport
.מאפיינים אחרים תלויים בערך
type
.מציינים את המאפיינים הנדרשים מתחת ל-
type
.לוחצים על הלחצנים המתאימים כדי להוסיף מאפיינים אופציונליים וספציפיים לסוג ולפרט אותם.
במאמר מאפייני שלבים יש רשימה של המאפיינים הזמינים.
כדי להסיר מאפיין אופציונלי, לוחצים על הלחצן הסרה שלצידו.
כדי להוסיף או להסיר רכיב לנכס מערך או ממנו, לוחצים על הלחצנים + או - ליד הרכיב.
מאפייני שלב
כל שלב יכול לכלול את המאפיינים האופציונליים הבאים:
target
– כתובת URL של היעד Chrome DevTools Protocol (CDP). מילת המפתחmain
שמוגדרת כברירת מחדל מתייחסת לדף הנוכחי.assertedEvents
שכרגע יכול להיות רק אירועnavigation
אחד
מאפיינים נפוצים אחרים שזמינים לרוב סוגי השלבים הם:
frame
– מערך של אינדקסים שמתחילים באפס ומזהים iframe שאפשר להטמיע בתוך מסגרת אחרת. לדוגמה, תוכלו לזהות את ה-iframe הראשון (0) בתוך iframe שני (1) של היעד הראשי בתור[1, 0]
.timeout
– מספר אלפיות שנייה שצריך להמתין לפני שמבצעים שלב. מידע נוסף זמין במאמר התאמת זמן קצוב לתפוגה של שלבים.selectors
– מערך של בוררים. מידע נוסף זמין במאמר הסבר על בוררים.
המאפיינים הספציפיים לסוג הם:
סוג | נכס | חובה | תיאור |
click doubleClick |
offsetX offsetY |
ביחס לפינה הימנית העליונה של תיבת התוכן של הרכיב, בפיקסלים | |
click doubleClick |
button |
לחצן המצביע: ראשי | עזר | שני | חזרה | העברה | |
change |
value |
הערך הסופי | |
keyDown keyUp |
key |
שם המפתח | |
scroll |
x y |
מיקומים בגלילה מוחלטת בין x ו-y בפיקסלים, ברירת המחדל היא 0 | |
navigate |
url |
כתובת אתר של יעד | |
waitForElement |
operator |
>= | == (ברירת מחדל) | <= | |
waitForElement |
count |
מספר הרכיבים שזוהו על ידי בורר | |
waitForElement |
attributes |
מאפיין HTML והערך שלו | |
waitForElement |
properties |
מאפיין JavaScript והערך שלו ב-JSON | |
waitForElement |
visible |
בוליאני. הערך הוא True אם הרכיב נמצא ב-DOM וגלוי (אין לו display: none או visibility: hidden ) |
|
waitForElement waitForExpression |
asserted events |
בשלב הזה, רק type: navigation , אבל אפשר לציין את הכותרת וכתובת ה-URL |
|
waitForElement waitForExpression |
timeout |
משך הזמן המקסימלי להמתנה, באלפיות השנייה | |
waitForExpression |
expression |
ביטוי JavaScript שמתקבל ממנו הערך true | |
setViewport |
width height |
הרוחב והגובה של אזור התצוגה בפיקסלים | |
setViewport |
deviceScaleFactor |
דומה ליחס הפיקסלים של המכשיר (DPR), ברירת המחדל היא 1 | |
setViewport |
isMobile hasTouch isLandscape |
דגלים בוליאניים שמציינים אם: |
יש שני מאפיינים שגורמים להשהיה של ההפעלה החוזרת:
המאפיין
waitForElement
גורם להמתנה לנוכחות (או להיעדר) של מספר רכיבים שזוהו על ידי בורר. לדוגמה, השלב הבא ממתין להופעת פחות משלושה רכיבים בדף שתואמים לבורר.my-class
."type": "waitForElement", "selectors": [".my-class"], "operator": "<=", "count": 2,
המאפיין
waitForExpression
גורם לשלב להמתין עד שביטוי JavaScript יתקבל כ-true. לדוגמה, השלב הבא מושהה למשך שתי שניות ואז מקבל את הערך true, ומאפשר להמשך את ההפעלה מחדש."type": "waitForExpression", "expression": "new Promise(resolve => setTimeout(() => resolve(true), 2000))",
שינוי של זמן הקצאת הזמן לשלבים
אם הדף מכיל בקשות רשת איטיות או אנימציות ארוכות, ההפעלה החוזרת עלולה להיכשל בשלבים שחורגים מהזמן הקצוב לתפוגה שהוגדר כברירת מחדל, שהוא 5000
אלפיות השנייה.
כדי למנוע את הבעיה הזו, אפשר לשנות את ברירת המחדל של זמן הקצאת הזמן לכל שלב בבת אחת או להגדיר זמני קצאת זמן נפרדים לשלבים ספציפיים. זמנים קצובים לתפוגה של שלבים ספציפיים יחליפו את ברירת המחדל.
כדי לשנות את ברירת המחדל של הזמן הקצוב לתפוגה בכל שלב בבת אחת:
לוחצים על הגדרות של הפעלה חוזרת כדי לאפשר עריכה של התיבה זמן קצוב.
בתיבה Timeout, מגדירים את ערך הזמן הקצוב לתפוגה באלפיות שנייה.
לוחצים על הפעלה מחדש כדי לראות את זמן הקצאת הזמן המוגדר כברירת מחדל ששונה בפעולה.
כדי לשנות את ברירת המחדל של זמן הקצאת הזמן בשלב ספציפי:
מרחיבים את השלב ולוחצים על הוספת זמן קצוב לתפוגה.
לוחצים על
timeout: <value>
ומגדירים את הערך באלפיות שנייה.לוחצים על הפעלה מחדש כדי לראות את השלב שבו הזמן הקצוב לתפוגה פועל.
כדי להסיר מחיקה של זמן קצוב לתפוגה בשלב, לוחצים על הלחצן Delete שלצידו.
הסבר על הסלקטורים
כשמתחילים הקלטה חדשה, אפשר להגדיר את האפשרויות הבאות:
- בתיבת הטקסט Selector attribute, מזינים מאפיין בדיקה מותאם אישית. מכשיר ההקלטה ישתמש במאפיין הזה כדי לזהות סלקטורים, ולא ברשימה של מאפייני בדיקה נפוצים.
בקבוצה של תיבות הסימון סוגי סלקטורים להקלטה, בוחרים את סוגי הסלקטורים שיזוהו באופן אוטומטי:
- CSS. בוררים תחביריים.
- ARIA. בוררים סמנטיים.
- טקסט. סלקטורים עם הטקסט הייחודי הקצר ביותר, אם יש כאלה.
- XPath. בוחרים שמשתמשים ב-XML Path Language.
- Pierce. סלקטורים שדומים לסלקטורים ב-CSS, אבל יכולים לחדור ל-DOM בצל.
בוררי בדיקות נפוצים
בדפי אינטרנט פשוטים, מאפייני id
ומאפייני CSS class
מספיקים כדי שמכשיר ההקלטה יוכל לזהות את הסלקטורים. עם זאת, יכול להיות שהדבר לא יקרה תמיד כי:
- דפי האינטרנט עשויים להשתמש במחלקות או מזהים דינמיים שמשתנים.
- יכול להיות שהסלקטורים לא תקינים בגלל שינויים בקוד או במסגרת.
לדוגמה, ייתכן שהערכים של class
ב-CSS נוצרים באופן אוטומטי באפליקציות שפותחו באמצעות מסגרות JavaScript מודרניות (למשל, React, Angular, Vue) ומסגרות CSS.
במקרים כאלה, אפשר להשתמש במאפיינים data-*
כדי ליצור בדיקות עמידות יותר. כבר יש כמה בוחרים נפוצים של data-*
שבהם מפתחים משתמשים לצורך אוטומציה. גם מכשיר ההקלטה תומך בהן.
אם הגדרתם באתר שלכם את בוררי הבדיקות הנפוצים הבאים, מכשיר ההקלטה מזהה אותם באופן אוטומטי ומשתמש בהם קודם לכן:
data-testid
data-test
data-qa
data-cy
data-test-id
data-qa-id
data-testing
לדוגמה, אפשר לבדוק את האלמנט 'קפה' בדף הדגמה הזה ולראות את מאפייני הבדיקה:
מקליטים קליק על קפוצ'ינו, מרחיבים את השלב המתאים בהקלטה ובודקים את הבוררים שזוהו:
התאמה אישית של בורר ההקלטה
אם בוררי הבדיקה הנפוצים לא מתאימים לכם, אתם יכולים להתאים אישית את הבורר של ההקלטה.
לדוגמה, בדף ההדגמה הזה נעשה שימוש במאפיין data-automate
בתור הבורר. מתחילים הקלטה חדשה ומזינים את data-automate
כמאפיין הבורר.
ממלאים כתובת אימייל ומתבוננים בערך הבורר ([data-automate=email-address]
).
עדיפות הבורר
הכלי מכשיר ההקלטה מחפש סלקטורים בסדר הבא, בהתאם למה שציינתם מאפיין סלקטור ב-CSS בהתאמה אישית:
- אם מצוין:
- סלקטור ב-CSS עם מאפיין ה-CSS המותאם אישית שלכם.
- סלקטורים של XPath.
- סלקטור ARIA אם הוא נמצא.
- בורר עם הטקסט הייחודי הקצר ביותר, אם נמצא.
- אם לא צוין:
- סלקטור ARIA אם הוא נמצא.
- סלקטורים ב-CSS עם העדיפות הבאה:
- המאפיינים הנפוצים ביותר של הבדיקה:
data-testid
data-test
data-qa
data-cy
data-test-id
data-qa-id
data-testing
- מאפייני מזהה, למשל
<div id="some_ID">
. - סלקטורים רגילים ב-CSS.
- המאפיינים הנפוצים ביותר של הבדיקה:
- סלקטורים של XPath.
- בוררי 'חציצה'.
- בורר עם הטקסט הייחודי הקצר ביותר, אם נמצא.
אפשר להשתמש במספר סלקטורים רגילים של CSS, XPath ו-Pierce. מכשיר ההקלטה מתעד:
- סלקטורים רגילים של CSS ו-XPath בכל רמת root, כלומר מארחי צללים בתצוגת עץ, אם יש כאלה.
- סלקטורים ייחודיים בין כל הרכיבים בתוך כל שורשי הצל.