تعرَّف على طرق مشاركة مسارات المستخدمين وتعديلها وخطواتهم في هذا المرجع الشامل للميزات ضمن لوحة المسجّلة في "أدوات مطوري البرامج في Chrome".
للتعرُّف على أساسيات العمل باستخدام لوحة المسجّلة الذكية، يُرجى الاطّلاع على تسجيل تدفقات المستخدم وإعادة تشغيلها وقياسها.
التعرّف على الاختصارات وتخصيصها
يمكنك استخدام الاختصارات للتنقّل في المسجّلة الذكية بشكل أسرع. للحصول على قائمة بالاختصارات التلقائية، يُرجى الاطّلاع على اختصارات لوحة مفاتيح لوحة المسجّلة.
لفتح تلميح يسرد جميع الاختصارات مباشرةً في المسجّلة الذكية، انقر على المساعدة عرض الاختصارات في أعلى يسار الصفحة.
لتخصيص اختصارات المسجّلة الذكية:
- افتح الإعدادات > الاختصارات.
- انتقِل للأسفل إلى قسم المسجّلة الذكية.
- اتّبِع الخطوات الواردة في تخصيص الاختصارات.
تعديل تدفقات المستخدم
في أعلى لوحة المسجّلة الذكية، تتوفّر لك خيارات لإجراء ما يلي:
- إضافة تسجيل جديد انقر على رمز + لإضافة تسجيل جديد.
- عرض جميع التسجيلات. تعرض القائمة المنسدلة قائمة التسجيلات المحفوظة. حدِّد الخيار [number] من التسجيلات لتوسيع قائمة التسجيلات المحفوظة وإدارتها.
تصدير تسجيل. لتخصيص النص البرمجي بشكل أكبر أو مشاركته لأغراض إعداد تقارير الأخطاء، يمكنك تصدير مسار المستخدم بأحد التنسيقات التالية:
- ملف JSON.
- @puppeteer/replay
- Puppeteer.
- Puppeteer (بما في ذلك تحليل Lighthouse).
ولمزيد من المعلومات عن التنسيقات، يُرجى الاطّلاع على تصدير تدفق المستخدم.
استيراد تسجيل. بتنسيق JSON فقط.
حذف تسجيل: احذف التسجيل الذي اخترته.
يمكنك أيضًا تعديل اسم التسجيل من خلال النقر على زر التعديل بجانبه.
مشاركة تدفقات المستخدم
يمكنك تصدير مسارات المستخدم واستيرادها في "المسجّلة الذكية". ويُعدّ هذا الإجراء مفيدًا لإعداد تقارير الأخطاء، لأنّه يمكنك مشاركة سجلّ دقيق للخطوات التي تُعيد إنتاج الخطأ. ويمكنك أيضًا تصديره وإعادة تشغيله باستخدام المكتبات الخارجية.
تصدير تدفق المستخدم
لتصدير تدفق المستخدم:
- افتح مسار المستخدم الذي تريد تصديره.
- انقر على تصدير في أعلى لوحة المسجّلة الذكية.
- اختَر أحد التنسيقات التالية من القائمة المنسدلة:
- ملف JSON. نزِّل التسجيل كملف JSON.
- @puppeteer/replay نزِّل التسجيل كنص برمجي لميزة Puppeteer Replay.
- محرك الدمى. نزِّل التسجيل كنص برمجي للدمى.
- الدمية (بما في ذلك تحليل Lighthouse). نزِّل التسجيل على أنّه نصّ Puppeteer مع تحليل مضمّن من Lighthouse.
- يتوفّر خيار واحد أو أكثر من خلال إضافات التصدير في تطبيق "المسجّلة الذكية".
- احفظ الملف.
يمكنك إجراء ما يلي مع كل خيار تصدير تلقائي:
- JSON: عدِّل كائن JSON الذي يمكن للإنسان قراءته وimport ملف 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". وقد تم تشييده فوق Puppeteer. إنها أداة سطر الأوامر، حيث يمكنك إعادة تشغيل ملفات JSON باستخدامها.
بالإضافة إلى ذلك، يمكنك تحويل ملفات JSON وإعادة تشغيلها باستخدام المكتبات التالية التابعة لجهات خارجية.
تحويل تدفقات مستخدم JSON إلى نصوص برمجية مخصّصة:
- Cypress Chrome Recorder يمكنك استخدامه لتحويل ملفات JSON لتدفق المستخدم إلى نصوص اختبارية من Cypress. يمكنك مشاهدة هذا العرض التوضيحي للاطّلاع على أمثلة واقعية.
- مسجّلة Chrome لنظام الساعة الليلية يمكنك استخدامها لتحويل ملفات JSON لتدفق المستخدم إلى نصوص اختبارية من Nightwatch.
- مسجّل Chrome لـ CodeceptJS يمكنك استخدامه لتحويل ملفات JSON لتدفق المستخدم إلى نصوص اختبارية في CodeceptJS.
إعادة تشغيل تدفقات مستخدم JSON:
- إعادة تشغيل المحتوى باستخدام Testcafe يمكنك استخدام TestCafe لإعادة تشغيل ملفات JSON لتدفق المستخدم وإنشاء تقارير اختبار لهذه التسجيلات.
- إعادة التشغيل باستخدام Sauce Labs يمكنك إعادة تشغيل ملفات JSON على Sauce Labs باستخدام saucectl.
تصحيح أخطاء تدفقات المستخدم
مثل أي رمز، قد تضطر في بعض الأحيان إلى تصحيح أخطاء تدفقات المستخدم المسجّلة.
لمساعدتك في تصحيح الأخطاء، تتيح لك لوحة المسجّلة الذكية إبطاء عمليات إعادة التشغيل، وتحديد نقاط التوقف، وخطوات التنفيذ، وفحص الرمز بتنسيقات مختلفة بالتوازي مع الخطوات.
إبطاء عملية إعادة التشغيل
وتعيد خدمة المسجّلة الذكية تلقائيًا تشغيل مسار المستخدم بأسرع ما يمكن. لفهم ما يحدث في التسجيل، يمكنك إبطاء سرعة إعادة التشغيل:
- افتح القائمة المنسدلة إعادة تشغيل.
- حدِّد أحد خيارات سرعة إعادة التشغيل:
- عادية (الخيار التلقائي)
- بطيئة
- بطيئة جدًا
- بطيئة للغاية
فحص الرمز
لفحص رمز تدفق المستخدم بأشكال مختلفة:
- افتح أحد التسجيلات في لوحة المسجّلة الذكية.
- انقر على عرض الرمز في أعلى يسار قائمة الخطوات.
- تعرض المسجّلة الذكية عرضًا جنبًا إلى جنب للخطوات ورموزها.
- عند تمرير مؤشر الماوس فوق إحدى الخطوات، يُبرز المسجّلة الذكية رمزها المعنيّ بأي تنسيق، بما في ذلك الرموز المقدَّمة من خلال الإضافات.
وسِّع القائمة المنسدلة للتنسيق لاختيار التنسيق الذي تستخدمه من أجل تصدير تدفقات المستخدم.
يمكن أن يكون أحد التنسيقات التلقائية الثلاثة (JSON أو @puppeteer/replay أو Puppeteer البرمجي أو تنسيقًا تقدّمه الإضافة.
يمكنك المتابعة لتصحيح أخطاء التسجيل من خلال تعديل مَعلَمات الخطوات وقيمها. عرض الرموز غير قابل للتعديل، ولكن يتم تحديثه وفقًا لذلك عند إجراء تغييرات على الخطوات على اليمين.
تحديد نقاط التوقف والتنفيذ خطوة بخطوة
لتحديد نقطة إيقاف وتنفيذ الخطوات خطوة بخطوة:
- مرِّر مؤشر الماوس فوق دائرة بجانب أي خطوة في التسجيل. تتحول الدائرة إلى رمز نقطة إيقاف .
- انقر على رمز نقطة الإيقاف وأعِد تشغيل التسجيل. تتوقف عمليات التنفيذ مؤقتًا عند نقطة الإيقاف.
- للتنقل خلال عملية التنفيذ، انقر على الزر تنفيذ خطوة واحدة في شريط الإجراءات أعلى لوحة المسجّلة الذكية.
- لإيقاف إعادة التشغيل، انقر على إلغاء إعادة التشغيل.
تعديل الخطوات
يمكنك تعديل أي خطوة في التسجيل من خلال النقر على الزر بجانبها، سواء أثناء التسجيل أو بعده.
يمكنك أيضًا إضافة الخطوات الناقصة وإزالة الخطوات التي تم تسجيلها عن طريق الخطأ.
إضافة خطوات
قد تحتاج أحيانًا إلى إضافة الخطوات يدويًا. على سبيل المثال، لا يلتقط المسجّلة الذكية أحداث hover
تلقائيًا لأنّ ذلك يؤدي إلى تلوث التسجيل، وليست كل هذه الأحداث مفيدة. ومع ذلك، لا يمكن أن تظهر عناصر واجهة المستخدم مثل القوائم المنسدلة إلا على hover
. يمكنك إضافة خطوات hover
يدويًا إلى مسارات المستخدم التي تعتمد على هذه العناصر.
لإضافة خطوة يدويًا:
- افتح صفحة العرض التوضيحي هذه وابدأ تسجيلاً جديدًا.
- مرِّر مؤشر الماوس فوق العنصر في إطار العرض. ستظهر لك قائمة إجراءات.
- اختَر إجراءً من القائمة وأنهِ التسجيل. تسجِّل المسجّلة الذكية حدث النقر فقط.
- جرِّب إعادة تشغيل التسجيل بالنقر على رمز إعادة التشغيل. تتعذّر إعادة التشغيل بعد انتهاء المهلة بسبب عدم تمكُّن المسجّلة الذكية من الوصول إلى العنصر في القائمة.
- انقر على زر النقاط الثلاث بجانب خطوة النقر، ثم على إضافة خطوة قبل ذلك.
- وسِّع الخطوة الجديدة. بشكل تلقائي، تحتوي على النوع
waitForElement
. انقر على القيمة بجانبtype
واختَرhover
. - بعد ذلك، اضبط أداة اختيار مناسبة للخطوة الجديدة. انقر على اختيار، ثم انقر على منطقة على العنصر
Hover over me!
خارج القائمة المنبثقة. تم ضبط أداة الاختيار على#clickable
. - جرِّب إعادة تشغيل التسجيل. بعد إضافة خطوة التمرير، يمكن لأداة المسجّلة الذكية إعادة تشغيل المسار بنجاح.
إضافة تأكيدات
أثناء التسجيل، يمكنك تأكيد سمات HTML وخصائص JavaScript مثلاً. لإضافة تأكيد:
- ابدأ تسجيلاً، على سبيل المثال، في صفحة العرض التوضيحي هذه.
انقر على إضافة تأكيد.
تنشئ المسجّلة الذكية خطوة
waitForElement
قابلة للضبط.حدِّد أدوات الاختيار لهذه الخطوة.
اضبط الخطوة مع عدم تغيير نوع
waitForElement
. على سبيل المثال، يمكنك تحديد:- سمة HTML: انقر على إضافة سمات واكتب اسم السمة وقيمتها التي تستخدمها العناصر في هذه الصفحة. مثلاً:
data-test: <value>
- موقع JavaScript: انقر على إضافة مواقع واكتب اسم الموقع وقيمته بتنسيق JSON. مثلاً:
{".innerText":"<text>"}
- خصائص الخطوات الأخرى: مثلاً:
visible: true
- سمة HTML: انقر على إضافة سمات واكتب اسم السمة وقيمتها التي تستخدمها العناصر في هذه الصفحة. مثلاً:
تابع لتسجيل بقية تدفق المستخدم ثم أوقف التسجيل.
انقر على إعادة تشغيل. في حال تعذّر التأكيد، يعرض المسجّلة الذكية رسالة خطأ بعد انتهاء المهلة.
يمكنك مشاهدة الفيديو التالي للاطّلاع على سير العمل هذا قيد التنفيذ.
نسخ الخطوات
بدلاً من تصدير تدفق المستخدم بالكامل، يمكنك نسخ خطوة واحدة إلى الحافظة:
- انقر بزر الماوس الأيمن على الخطوة التي تريد نسخها أو انقر على رمز النقاط الثلاث "" بجانبها.
- في القائمة المنسدلة، حدِّد أحد خيارات نسخ باسم ....
يمكنك نسخ الخطوات بتنسيقات مختلفة: JSON وPuppeteer و@puppeteer/replay وتلك التي توفّرها الإضافات.
إزالة الخطوات
لإزالة خطوة تم تسجيلها عن طريق الخطأ، انقر بزر الماوس الأيمن على الخطوة أو انقر على رمز النقاط الثلاث الخاص بـ "" بجانبها، واختَر إزالة الخطوة.
بالإضافة إلى ذلك، تضيف المسجّلة الذكية تلقائيًا خطوتَين منفصلتَين إلى بداية كل تسجيل:
- ضبط إطار العرض تتيح لك التحكّم في أبعاد إطار العرض وقياسه والخصائص الأخرى.
- التنقّل تتيح هذه السياسة ضبط عنوان URL وإعادة تحميل الصفحة تلقائيًا عند كل عملية إعادة تشغيل.
لتنفيذ التشغيل الآلي في الصفحة بدون إعادة تحميل الصفحة، أزِل خطوة التنقّل كما هو موضّح أعلاه.
ضبط الخطوات
لضبط خطوة:
تحديد نوعه:
click
أوdoubleClick
أوhover
أو (إدخال)change
أوkeyUp
أوkeyDown
أوscroll
أوclose
أوnavigate
(إلى صفحة) أوwaitForElement
أوwaitForExpression
أوsetViewport
.وتعتمد السمات الأخرى على القيمة
type
.حدِّد السمات المطلوبة أسفل السمة
type
.انقر على الأزرار المقابلة لإضافة سمات اختيارية خاصة بالنوع وتحديدها.
للحصول على قائمة بالمواقع المتاحة، اطّلِع على مواقع الخطوة.
لإزالة سمة اختيارية، انقر على الزر إزالة بجانبها.
لإضافة عنصر إلى خاصية مصفوفة أو إزالته منها، انقر على الزر + أو - بجانب العنصر.
خصائص الخطوة
يمكن أن تحتوي كل خطوة على الخصائص الاختيارية التالية:
target
: عنوان URL لهدف بروتوكول أدوات مطوّري البرامج في Chrome (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 |
عنوان URL المستهدف | |
waitForElement |
operator |
>= | == (تلقائي) | <= | |
waitForElement |
count |
عدد العناصر التي تم تحديدها بواسطة أداة الاختيار | |
waitForElement |
attributes |
سمة HTML وقيمتها | |
waitForElement |
properties |
سمة JavaScript وقيمتها بترميز JSON | |
waitForElement |
visible |
منطقي. صحيح إذا كان العنصر في DOM ومرئيًا (لا يتضمّن display: none أو visibility: hidden ) |
|
waitForElement waitForExpression |
asserted events |
حاليًا، type: navigation فقط ولكن يمكنك تحديد العنوان وعنوان URL. |
|
waitForElement waitForExpression |
timeout |
الحد الأقصى لوقت الانتظار بالمللي ثانية | |
waitForExpression |
expression |
تعبير JavaScript يصل إلى القيمة "صحيح" | |
setViewport |
width height |
عرض إطار العرض وارتفاعه بالبكسل | |
setViewport |
deviceScaleFactor |
نسبة وحدات البكسل إلى الجهاز (DPR)، الإعداد التلقائي 1 | |
setViewport |
isMobile hasTouch isLandscape |
علامات منطقية تحدّد ما إذا كان يجب إجراء ما يلي: |
هناك خاصيتان تؤدّيان إلى إيقاف إعادة التشغيل مؤقتًا:
تجعل السمة
waitForElement
الخطوة بانتظار ظهور (أو عدم) عدد من العناصر التي تحدّدها أداة الاختيار. على سبيل المثال، تنتظر الخطوة التالية توفّر أقل من ثلاثة عناصر على الصفحة التي تتطابق مع أداة الاختيار.my-class
."type": "waitForElement", "selectors": [".my-class"], "operator": "<=", "count": 2,
تطلب السمة
waitForExpression
الخطوة إلى أن يتم تحويل تعبير JavaScript إلى "صحيح". على سبيل المثال، تتوقف الخطوة التالية مؤقتًا لمدة ثانيتين، ثم يتم تحويلها إلى "صحيح" ما يسمح بمواصلة إعادة التشغيل."type": "waitForExpression", "expression": "new Promise(resolve => setTimeout(() => resolve(true), 2000))",
تعديل المُهل للخطوات
إذا كانت صفحتك تتضمن طلبات شبكة بطيئة أو صورًا متحركة مطولة، يمكن أن تتعذّر إعادة التشغيل في الخطوات التي تتجاوز المهلة التلقائية التي تبلغ 5000
ملي ثانية.
لتجنب هذه المشكلة، يمكنك ضبط المهلة الافتراضية لكل خطوة دفعة واحدة أو تعيين مهلات منفصلة لخطوات محددة. تؤدي مهلات خطوات محددة إلى استبدال الإعداد التلقائي.
لضبط المهلة الافتراضية لكل خطوة دفعة واحدة:
انقر على إعدادات إعادة التشغيل لتعديل مربّع المهلة.
في مربّع المهلة، اضبط قيمة المهلة بالملي ثانية.
انقر على إعادة التشغيل للاطّلاع على المهلة التلقائية المعدّلة.
لاستبدال المهلة التلقائية في خطوة معيّنة:
وسِّع الخطوة وانقر على إضافة مهلة.
انقر على
timeout: <value>
واضبط القيمة بالمللي ثانية.انقر على إعادة التشغيل للاطّلاع على الخطوة التي تم تطبيق المهلة عليها.
لإزالة عملية استبدال لمهلة معيّنة، انقر على الزر حذف بجانب الخطوة.
فهم أدوات الاختيار
عند بدء تسجيل جديد، يمكنك ضبط ما يلي:
- في مربّع النص سمة أداة الاختيار، أدخِل سمة اختبار مخصّصة. ستستخدم المسجّلة الذكية هذه السمة لرصد أدوات الاختيار بدلاً من قائمة سمات الاختبار الشائعة.
في مجموعة مربّعات الاختيار أنواع أدوات الاختيار المطلوب تسجيلها، اختَر أنواع أدوات الاختيار التي تريد رصدها تلقائيًا:
- CSS: أدوات الاختيار النحوية
- ARIA: أدوات الاختيار الدلالية.
- نص: أدوات الاختيار التي تتضمّن أقصر نص فريد إن توفّر.
- XPath. المحددات التي تستخدم لغة مسار XML.
- بيرس. أدوات اختيار تشبه أدوات CSS ولكنها يمكنها اختراق shadow DOM.
أدوات اختيار الاختبار الشائعة
بالنسبة إلى صفحات الويب البسيطة، تكفي سمات id
وسمات class
لخدمة CSS لكي تتمكّن المسجّلة الذكية من رصد أدوات الاختيار. ومع ذلك، قد لا يحدث ذلك دائمًا للأسباب التالية:
- قد تستخدم صفحاتك على الويب فئات ديناميكية أو أرقام تعريف تتغير.
- قد تتوقف أدوات الاختيار بسبب تغييرات في الرمز أو إطار العمل.
على سبيل المثال، قد يتم إنشاء قيم 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 وPerce. تلتقط المسجّلة الذكية ما يلي:
- أدوات اختيار CSS وXPath العادية في كل مستوى جذر، أي مضيفات الظل المدمجة، إن توفّرت.
- أدوات اختيار الثقب الفريدة بين جميع العناصر داخل جميع جذور الظل.