מגלים דרכים לשתף תהליכי עבודה של משתמשים, לערוך אותם ואת השלבים שלהם במאמרי העזרה המקיפים האלה בנושא תכונות בחלונית מכשיר ההקלטה של Chrome.
מידע בסיסי על העבודה עם החלונית מכשיר ההקלטה זמין במאמר הקלטה, הפעלה מחדש ומדידה של תהליכים של משתמשים.
הסבר והתאמה אישית של מקשי הקיצור
אפשר להשתמש במקשי קיצור כדי לנווט מהר יותר במכשיר ההקלטה. ניתן לראות רשימה של מקשי הקיצור שמוגדרים כברירת מחדל במאמר בנושא מקשי קיצור בחלונית מכשיר ההקלטה.
כדי לפתוח רמז עם רשימה של כל קיצורי הדרך ישירות מתוך מכשיר ההקלטה, לוחצים על עזרה הצגת קיצורי דרך בפינה השמאלית העליונה.
כדי להתאים אישית את מקשי הקיצור של מכשיר ההקלטה:
- פתיחת הגדרות > קיצורי דרך.
- גוללים למטה אל הקטע מכשיר הקלטה.
- פועלים לפי השלבים שמפורטים בקטע התאמה אישית של קיצורי דרך.
עריכה של תהליכי העבודה של המשתמשים
בחלק העליון של החלונית מכשיר ההקלטה יש אפשרויות:
- הוספת הקלטה חדשה. לוחצים על הסמל + כדי להוסיף הקלטה חדשה.
- הצגת כל ההקלטות בתפריט הנפתח מוצגת הרשימה של ההקלטות השמורות. בוחרים באפשרות [מספר] ההקלטות כדי להרחיב ולנהל את רשימת ההקלטות השמורות.
ייצוא הקלטה. כדי להתאים אישית את הסקריפט או לשתף אותו למטרות דיווח על באגים, ניתן לייצא את זרימת המשתמשים באחד מהפורמטים הבאים:
- קובץ JSON.
- סקריפט @puppeteer/replay.
- סקריפט Puppeteer.
- Puppeteer (כולל ניתוח של Lighthouse).
למידע נוסף על הפורמטים, אפשר לעיין במאמר ייצוא תהליך של משתמש.
ייבוא הקלטה. רק בפורמט JSON.
מחיקת הקלטה. מחיקת ההקלטה שנבחרה.
כדי לערוך את שם ההקלטה, אפשר ללחוץ על לחצן העריכה שלצידה.
שיתוף תהליכי עבודה של משתמשים
ניתן לייצא ולייבא תהליכים של משתמשים במכשיר ההקלטה. האפשרות הזו שימושית לדיווח על באגים, כי אפשר לשתף תיעוד מדויק של השלבים שמשחזרים באג. תוכלו גם לייצא את הקובץ ולהפעיל אותו מחדש באמצעות ספריות חיצוניות.
ייצוא תהליך המשתמש
כדי לייצא תהליך של משתמש:
- פותחים את תהליך העבודה של המשתמשים שרוצים לייצא.
- לוחצים על ייצוא בחלק העליון של החלונית מכשיר ההקלטה.
- בוחרים אחד מהפורמטים הבאים מהרשימה הנפתחת:
- קובץ JSON. מורידים את ההקלטה כקובץ JSON.
- @puppeteer/replay. מורידים את ההקלטה כתסריט להפעלה חוזרת של בובות.
- בובנית. הורד את ההקלטה כתסריט של Puppeteer.
- בובה (כולל ניתוח Lighthouse). מורידים את ההקלטה כתסריט של Puppeteer עם ניתוח מוטמע של Lighthouse.
- אחת או יותר מהאפשרויות שסופקו על ידי התוספים לייצוא של מכשיר ההקלטה.
- שומרים את הקובץ.
אתם יכולים לבצע את הפעולות הבאות בכל אפשרות ייצוא שמוגדרת כברירת מחדל:
- JSON. עורכים את אובייקט ה-JSON קריא לאנשים ומייבאים את קובץ ה-JSON חזרה אל מכשיר ההקלטה.
- @puppeteer/replay. מפעילים מחדש את התסריט באמצעות הספרייה Puppeteer Replay. כשמייצאים כסקריפט @puppeteer/replay, השלבים נשארים כאובייקט JSON. זו האפשרות המתאימה ביותר אם רוצים לשלב את צינור עיבוד הנתונים של CI/CD, אבל עדיין יש לכם את הגמישות לערוך את השלבים כ-JSON, להמיר אותם ולייבא אותם בחזרה אל מכשיר ההקלטה.
- הסקריפט של הבובה. מפעילים מחדש את התסריט באמצעות Puppeteer. מאחר שהשלבים מומרים ל-JavaScript, תוכלו לבצע התאמה אישית פרטנית יותר, לדוגמה, לחזור על השלבים בלופ. אזהרה אחת: לא ניתן לייבא את הסקריפט הזה חזרה אל מכשיר ההקלטה.
בובה (כולל ניתוח Lighthouse). אפשרות הייצוא הזו זהה לאפשרות הקודמת, אבל היא כוללת קוד שיוצר ניתוח מסוג Lighthouse.
מריצים את הסקריפט ובודקים את הפלט בקובץ
flow.report.html
:# npm i puppeteer lighthouse node your_export.js
ייצוא בפורמט מותאם אישית על ידי התקנת תוסף
ייבוא תהליך של משתמש
כדי לייבא תהליך של משתמש:
- לוחצים על הלחצן ייבוא בחלק העליון של החלונית מכשיר ההקלטה.
- בוחרים את קובץ ה-JSON עם תיעוד התהליך של המשתמש.
- לוחצים על הלחצן הפעלה מחדש כדי להפעיל את זרימת המשתמשים שיובאה.
הפעלה מחדש באמצעות ספריות חיצוניות
Puppeteer Replay הוא ספריית קוד פתוח שמנוהלת על ידי צוות כלי הפיתוח ל-Chrome. הוא בנוי על מעל הבובה. זהו כלי שורת פקודה, שמאפשר להפעיל מחדש קובצי 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).
- כדי לעבור את שלב הביצוע, לוחצים על הלחצן ביצוע שלב אחד בסרגל הפעולות שבחלק העליון של החלונית מכשיר ההקלטה.
- כדי להפסיק את השידור החוזר, לוחצים על ביטול ההקלטה.
עריכת השלבים
כדי לערוך כל שלב בהקלטה, לוחצים על הלחצן שלצידו, גם במהלך ההקלטה וגם לאחר מכן.
אפשר גם להוסיף שלבים חסרים ולהסיר שלבים שנרשמו בטעות.
הוספת שלבים
לפעמים צריך להוסיף שלבים באופן ידני. לדוגמה, מכשיר ההקלטה לא מתעד באופן אוטומטי אירועי hover
כי הפעולה הזו מזהמת את ההקלטה ולא כל האירועים מהסוג הזה שימושיים. עם זאת, רכיבי ממשק המשתמש כמו תפריטים נפתחים יכולים להופיע רק ב-hover
. אפשר להוסיף באופן ידני שלבים של hover
לתהליכים של המשתמשים שתלויים ברכיבים האלה.
כדי להוסיף שלב באופן ידני:
- פותחים את דף ההדגמה ומתחילים הקלטה חדשה.
- מעבירים את העכבר מעל הרכיב באזור התצוגה. יופיע תפריט פעולות.
- בוחרים פעולה מהתפריט ומסיימים את ההקלטה. מכשיר ההקלטה מתעד רק את האירוע מסוג קליק.
- כדי להפעיל מחדש את ההקלטה, לוחצים על הפעלה חוזרת. ההפעלה החוזרת נכשלת אחרי שעבר הזמן הקצוב לתפוגה כי מכשיר ההקלטה לא יכול לגשת לרכיב שבתפריט.
- לוחצים על לחצן שלוש הנקודות שלצד השלב לחיצה ובוחרים באפשרות הוספת שלב לפני.
- מרחיבים את השלב החדש. כברירת מחדל הוא מסוג
waitForElement
. לוחצים על הערך שלידtype
ובוחרים באפשרותhover
. - לאחר מכן, מגדירים בורר מתאים לשלב החדש. לוחצים על הסמל בחירה, ואז לוחצים על אזור ברכיב
Hover over me!
שנמצא מחוץ לתפריט הקופץ. הבורר מוגדר ל#clickable
. - מנסים להשמיע מחדש את ההקלטה. לאחר השלב של העברת העכבר שנוסף, מכשיר ההקלטה מפעיל מחדש את התהליך.
הוספה של טענות נכוֹנוּת (assertions)
במהלך ההקלטה, אתם יכולים להצהיר בעלות, למשל על מאפייני HTML ומאפייני JavaScript. כדי להוסיף טענת נכוֹנוּת (assertion):
- מתחילים הקלטה, למשל, בדף ההדגמה הזה.
לוחצים על Add assertion (הוספת טענת נכוֹנוּת) (assertion).
מכשיר ההקלטה יוצר שלב
waitForElement
שניתן להגדרה.מציינים בוררים לשלב הזה.
מגדירים את השלב, אבל לא משנים את סוג ה-
waitForElement
שלו. לדוגמה, אפשר לציין:- מאפיין HTML. לוחצים על הוספת מאפיינים ומקלידים את השם והערך של המאפיין שבו משתמשים הרכיבים בדף הזה. לדוגמה,
data-test: <value>
. - נכס JavaScript. לוחצים על הוספת נכסים ומקלידים את השם והערך של הנכס בפורמט JSON. לדוגמה,
{".innerText":"<text>"}
. - מאפייני שלבים אחרים לדוגמה,
visible: true
.
- מאפיין HTML. לוחצים על הוספת מאפיינים ומקלידים את השם והערך של המאפיין שבו משתמשים הרכיבים בדף הזה. לדוגמה,
ממשיכים להקליט את המשך התהליך של המשתמש ומפסיקים את ההקלטה.
לוחצים על הפעלה מחדש. אם טענת נכוֹנוּת (assertion) נכשלת, מכשיר ההקלטה יציג שגיאה לאחר זמן קצוב לתפוגה.
כדי לראות איך פועל תהליך העבודה הזה, צפו בסרטון הבא.
העתקת השלבים
במקום לייצא את כל תהליך המשתמש, אפשר להעתיק שלב אחד ללוח:
- לוחצים לחיצה ימנית על השלב שרוצים להעתיק או לוחצים על סמל שלוש הנקודות שלצידו.
- בתפריט הנפתח, בוחרים באחת מהאפשרויות של העתקה בשם ....
אפשר להעתיק את השלבים בפורמטים שונים: JSON, Puppeteer, @puppeteer/replay וכאלה שסופקו על ידי תוספים.
הסרת השלבים
כדי להסיר שלב שתועד בטעות, לוחצים לחיצה ימנית על השלב או לוחצים על סמל שלוש הנקודות שלצידו ובוחרים באפשרות הסרת השלב.
כמו כן, מכשיר ההקלטה מוסיף באופן אוטומטי שני שלבים נפרדים לתחילת כל הקלטה:
- הגדרת אזור התצוגה. מאפשר לך לשלוט במימדים של אזור התצוגה, בהתאמה לעומס (scaling) ובמאפיינים אחרים.
- ניווט. מגדיר את כתובת ה-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: <value>
ומגדירים את הערך באלפיות השנייה.לוחצים על הפעלה מחדש כדי לראות את השלב שבו הזמן הקצוב לתפוגה פועל.
כדי להסיר זמן קצוב להחלפה בשלב כלשהו, לוחצים על הלחצן מחיקה שלצידו.
הסבר על הסלקטורים
כשמתחילים הקלטה חדשה, אפשר להגדיר את הדברים הבאים:
- בתיבת הטקסט מאפייני סלקטור, מזינים מאפיין בדיקה מותאם אישית. מכשיר ההקלטה ישתמש במאפיין הזה כדי לזהות סלקטורים, ולא ברשימה של מאפייני בדיקה נפוצים.
בקבוצה של תיבות הסימון סוגי סלקטורים להקלטה, בוחרים את סוגי הסלקטורים שיזוהו באופן אוטומטי:
- שירות CSS. בוררים תחביריים.
- ARIA. בוררים סמנטיים.
- טקסט. סלקטורים עם הטקסט הייחודי הקצר ביותר, אם יש כאלה.
- XPath. סלקטורים שמשתמשים בשפת נתיב XML.
- Pierce סלקטורים שדומים לסלקטורים ב-CSS אבל יכולים לחדור ל-DOM של צללים.
בוררי בדיקה נפוצים
בדפי אינטרנט פשוטים, מאפייני id
ומאפייני CSS class
מספיקים כדי שמכשיר ההקלטה יוכל לזהות את הסלקטורים. עם זאת, ייתכן שלא תמיד יהיה זה המצב, מהסיבות הבאות:
- דפי האינטרנט עשויים להשתמש במחלקות או מזהים דינמיים שמשתנים.
- יכול להיות שהסלקטורים לא תקינים בגלל שינויים בקוד או במסגרת.
לדוגמה, יכול להיות שערכי class
של CSS ייווצרו באופן אוטומטי לאפליקציות שפותחו עם מסגרות JavaScript מודרניות (לדוגמה, React, Angular, Vue) ו-frameworks של 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 ו-Perce. מכשיר ההקלטה מתעד:
- סלקטורים רגילים ב-CSS ו-XPath בכל רמת בסיס, כלומר מארחי צללים מקוננים, אם יש כאלה.
- סלקטורים ייחודיים בין כל הרכיבים בתוך כל שורשי הצל.