تحويل أحداث الجلسة إلى اختبار E2E
تتيح لك ميزة تحويل أحداث الجلسة إلى اختبار E2E تحويل جلسات المستخدمين المسجّلة إلى كود اختبار آلي شامل من البداية إلى النهاية. تسدّ هذه القدرة القوية الفجوة بين السلوك الفعلي للمستخدم وأتمتة الاختبار، مما يتيح لك إعادة إنشاء رحلات المستخدمين بسرعة في إطار الاختبار الذي تختاره.
كيف تعمل: تحويل الجلسات إلى كود اختبار E2E
Section titled كيف تعمل: تحويل الجلسات إلى كود اختبار E2E- انتقل إلى عرض Sessions في لوحة التحكم
- اختر أي جلسة مسجّلة لفتح عرض Session Replay
- انقر على علامة التبويب Activity لعرض الخط الزمني للأحداث
- ابحث عن أيقونة Copy Events بجوار شريط البحث
- انقر على الأيقونة لفتح القائمة المنسدلة لخيارات التصدير

استخدام ميزة تحويل أحداث الجلسة إلى اختبار E2E
Section titled استخدام ميزة تحويل أحداث الجلسة إلى اختبار E2Eالاستخدام الأساسي
Section titled الاستخدام الأساسي- انقر على أيقونة Copy Events في عرض Activity
- من القائمة المنسدلة، اختر إطار الاختبار الذي تريده (Cypress أو Playwright أو Puppeteer)
- اختر بين Events Only أو Complete Test
- طبّق “Select events on the timeline” لتحديد الأحداث التي تريد تضمينها
- انقر على Copy لنسخ الكود الذي تم إنشاؤه إلى الحافظة
- الصقه مباشرة في ملف الاختبار الخاص بك
خيارات التصدير
Section titled خيارات التصديرأطر الاختبار
Section titled أطر الاختبارتدعم الميزة التصدير إلى ثلاثة أطر اختبار شائعة:
- Cypress - إطار اختبار ويب يركّز على تجربة المطوّر والموثوقية
- Playwright - مكتبة اختبار حديثة مع دعم متعدد المتصفحات
- Puppeteer - مكتبة أتمتة متصفح بدون واجهة (headless)

أنواع التصدير
Section titled أنواع التصديريمكنك الاختيار بين نوعين من التصدير:
- Events Only - يُنشئ أوامر الإجراءات فقط دون أي بنية اختبار
- Complete Test - يُنشئ اختبارًا منظّمًا بالكامل مع الكود النموذجي المناسب
تحديد الأحداث
Section titled تحديد الأحداثتتيح لك أداة التحديد على الخط الزمني ما يلي:
- تحديد نطاق معيّن من الأحداث لتضمينه في عملية التصدير
- سحب المقابض لضبط نقطتي البداية والنهاية
مثال على المخرجات
Section titled مثال على المخرجاتمثال Cypress
Section titled مثال CypressEvents Only:
cy.visit('/en/deployment/')
cy.get('a:nth-of-type(9)').click()
cy.visit('/en/deployment/deploy-docker/')
cy.get('.active li:nth-of-type(13) > a').click()
cy.visit('/en/deployment/upgrade/')
cy.get('.active > .justify-between').click()
cy.get('.left-nav-parent > li:nth-of-type(4) > .flex').click()
cy.get('.active li:nth-of-type(5) > a').click()
cy.visit('/en/using-or/next/')
cy.get('.left-nav-parent > li:nth-of-type(5) > .flex').click()
cy.get('.left-nav-parent > li:nth-of-type(6) > .flex').click()
cy.visit('/en/installation/')
cy.get('.active li:nth-of-type(2) > a').click()
cy.visit('/en/installation/identify-user/')
cy.get('li:nth-of-type(7) > .flex').click()
cy.get('.logo-clickarea').click()
Complete Test:
// cypress/e2e/session_replay_test.cy.js
describe('Deployment - OpenReplay Documentation', () => {
it('Navigates through /en/deployment/', () => {
cy.visit('/en/deployment/')
cy.get('a:nth-of-type(9)').click()
cy.visit('/en/deployment/deploy-docker/')
cy.get('.active li:nth-of-type(13) > a').click()
cy.visit('/en/deployment/upgrade/')
cy.get('.active > .justify-between').click()
cy.get('.left-nav-parent > li:nth-of-type(4) > .flex').click()
cy.get('.active li:nth-of-type(5) > a').click()
cy.visit('/en/using-or/next/')
cy.get('.left-nav-parent > li:nth-of-type(5) > .flex').click()
cy.get('.left-nav-parent > li:nth-of-type(6) > .flex').click()
cy.visit('/en/installation/')
cy.get('.active li:nth-of-type(2) > a').click()
cy.visit('/en/installation/identify-user/')
cy.get('li:nth-of-type(7) > .flex').click()
cy.get('.logo-clickarea').click()
})
})
هل لديك أسئلة؟
Section titled هل لديك أسئلة؟إذا واجهت أي مشكلات في إنشاء اختبارات E2E من جلساتك، فيرجى التواصل معنا عبر مجتمع Slack الخاص بنا وطرح أسئلتك مباشرةً على مطوّرينا!