QA The Other Wayضمان الجودة لعصر الاختبارات المكتوبة بالذكاء الاصطناعي. QA The Other Way.
اختبارات QA عملية

قد يشارك فحص API مخزن ملفات ارتباط المتصفح.

اختر الحالة المشتركة أو المعزولة عمدا قبل وصف النتيجة بأنها مستقلة.

5 دقائق للقراءةQA The Other Way
مخطط أصلي لملفات ارتباط مشتركة وتخزين طلبات منفصل.
رسم تحريري أصلي.
فيديو توضيحي لهذه المقالة. النص الإنجليزي الذي يظهر على الشاشة؛ حدد ترجمات لهذه اللغة.

طبعة مترجمة. تظل المعرفات الفنية في شكلها الأصلي.

اختر الحالة المشتركة أو المعزولة عمدا قبل وصف النتيجة بأنها مستقلة.
مثال محلي ببيانات مختلقة، وليس واجهة عميل أو مزود.

يفتح الاختبار صفحة مسجلة الدخول ثم يقرأ API. يتصور المهندس هوية أخرى لأن الزر لم يشارك. في Playwright قد يشترك سياق الطلب المرتبط بملفات المتصفح. استدعاء API ليس حد مصادقة مستقل تلقائيا.

يستخدم الدليل APIRequestContext وخادما محليا وملف ارتباط مختلقا اسمه demo_session. لا حساب أو بيانات دخول حقيقية. نبين التخزين لا تجاوز القواعد.

حدد سياق الطلب المنشأ

يشارك browserContext.request وpage.request ملفات المتصفح. تستخدمها الطلبات ويمكن للردود تحديثها. يفيد ذلك جلسة مشتركة مقصودة لكنه يغير معنى الأدلة.

لـ request.newContext تخزين مستقل. اختره للحالة المنفصلة. العزل اختيار إعداد مسبق لا اسم يضاف بعد رد مناسب.

const shared = await page.request.get('http://localhost:4181/who');
expect(await shared.text()).toBe('demo_session=fixture');

const isolated = await request.newContext();
try {
  const response = await isolated.get('http://localhost:4181/who');
  expect(await response.text()).toBe('no demo cookie');
} finally {
  await isolated.dispose();
}

يلزم الخادم والسياق الحامل للملف المختلق. استورد request وexpect من Playwright. يعلن الخادم هذا الملف المضبوط فقط. لا تنشر رؤوس جلسة حقيقية.

عرف معنى الاستقلال

يمكن لطلب مشترك قراءة نتيجة بمسار آخر وبالهوية نفسها. قد يكون دليلا مستقلا للنتيجة لا مستخدما آخر أو عميلا مجهولا. سم طبقة القراءة أو الهوية أو التخزين أو التفويض.

سياق دون ملف ارتباط إعداد مختلف. لا يثبت سياسة خروج حقيقية دون نقطة نهاية ورد متوقع محددين. يرجع الخادم نصا مختلقا لا شهادة وصول.

نسخ الحالة يغير المعنى. نسخة الجلسة ليست مجهولة. حتى المخزن الفارغ قد يملك رؤوسا أو بيانات دخول أخرى. افحص الإعداد الكامل.

أظهر تأثيرات الرد

المشاركة تعمل في الاتجاهين. قد يضع رد مشترك ملفا يؤثر على المتصفح لاحقا. قد تغير خطوة التجهيز أكثر من سجل خادم.

يفحص الاختبار ذلك: يضع الرد ملفا مختلقا ثانيا ويراه المتصفح. يبقى السياق المعزول منفصلا. هذا آلية لا حكم على كل تصاميم الجلسات.

أغلق السياقات المؤقتة. يصف API حفظ أجسام الردود للقراءة والتخلص عبر dispose. اقرأ الدليل اللازم قبل الإغلاق.

اكتب حد الهوية

سجل كائن الطلب وحالته الأولى وتأثيرات الرد والهوية المتوقعة. استخدم جلسات اختبار مصرحا بها ولا تنشر ملفات الحالة أو رؤوس الوصول.

القراءة من API قد تقدم دليلا آخر على الحفظ مع بقاء الهوية نفسها. هذا ليس تناقضا إذا سمت المراجعة الحد بدقة. لا تدع عبارة مستقل تخفي الاعتماد على الجلسة أو على إعدادات أخرى. الاختبار المحلي لا يقرأ إلا قيمة مختلقة، ولذلك لا يثبت سياسات منتج حقيقي أو امتيازات مستخدم آخر.

يصف AnyTest الاستكشاف واختبارات المراجعة. اسأل هل تشترك الجلسة أم توجد حالة منفصلة. لا ندعي تنفيذا معينا. الاستقلال يسمي الحد لا النقل وحده.

الأسئلة الشائعة

هل يستخدم page.request مخزنا منفصلا؟

لا. يشارك ملفات الارتباط مع سياق المتصفح المرتبط.

هل العزل يثبت تلقائيا سياسة وصول مجهولة؟

لا. يجب تحديد الإعداد الكامل وتوقعات نقطة النهاية الحقيقية.

مصادر