بدلة اختبار Laravel Dusk المستقلة، والتي لا تتطلب إطار عمل Laravel نفسه.
يوفر Laravel Dusk واجهة برمجة تطبيقات معبرة وسهلة الاستخدام لأتمتة المتصفح واختباره. افتراضيًا، لا يطلب منك Dusk تثبيت JDK أو Selenium على جهازك. بدلاً من ذلك، يستخدم Dusk برنامج تشغيل Chrome مستقلاً. ومع ذلك، أنت حر في استخدام أي برنامج تشغيل آخر للسيلينيوم ترغب فيه.
للبدء، عليك إضافة التابع unglud/dusker Composer إلى مشروعك:
composer require --dev unglud/dusker
بعد ذلك، تحتاج إلى نسخ جميع الملفات الضرورية إلى دليل العمل الخاص بك. الأمر أدناه سوف يفعل ذلك نيابة عنك. يقوم بإنشاء (أو استخدام دليل tests
الموجود) ووضع الملفات هناك. كما أنه يقوم بنسخ الأداة المساعدة artisan
التحكم الحرفية إلى الدليل الجذر لمشروعك. إذا كان لديك هذا الملف بالفعل، فسيتم استبداله!
سيكون الملف .env.dusk
موجودًا في جذر مشروعك أيضًا، والذي ستحتاج إلى إعادة تسميته إلى .env
أو نسخ محتواه إلى محتواك الحالي.
composer run-script post-install-cmd -d ./vendor/unglud/dusker
إذا كنت تريد تحديث هذه الملفات تلقائيًا في كل مرة تقوم فيها بتحديث هذه الحزمة، فيمكنك إضافة هذا إلى ملف composer.json
الخاص بك:
"scripts": { "post-install-cmd": [ "DuskerCopyFile::copy" ], "post-update-cmd": [ "DuskerCopyFile::copy" ] }, "extra": { "copy-file": { "vendor/unglud/dusker/src/example/": "tests/", "vendor/unglud/dusker/artisan": "artisan" } }
كما لاحظت أن الملف .env.dusk
لم يتم تضمينه هناك لتبسيط الأمور.
بعد تثبيت الحزمة، ستكون أوامر Artisan متاحة من مشروعك الجذر. قم بتشغيل dusk:install
أمر Artisan:
php artisan dusk:install
حاول الآن تشغيل الاختبار للتأكد من أن كل شيء يعمل
php artisan dusk
بعد هذا الجزء، يمكنك استخدام التوثيق الرسمي لـ Dusk على موقع Laravel، لأنه سيعمل تمامًا كما صممه Taylor Otwell.
في كثير من الأحيان، سوف تقوم باختبار الصفحات التي تتطلب المصادقة. يمكنك استخدام طريقة تسجيل الدخول الخاصة بـ Dusk لتجنب التفاعل مع شاشة تسجيل الدخول أثناء كل اختبار. تقبل طريقة تسجيل الدخول login
المستخدم وكلمة password
:
$this->browse(function (Browser $browser) { $browser->loginAs('username', 'password') ->visit('/home'); });
بعد استخدام طريقة تسجيل الدخول، سيتم الحفاظ على جلسة المستخدم لجميع الاختبارات داخل الملف.
نظرًا لأننا لا نستطيع الوصول إلى Auth
الأصلية وجهاز Router
من Laravel، لأننا نستخدمه بدون Laravel، فنحن بحاجة إلى إعداد وظيفة تسجيل الدخول. في .env
يجب عليك تحديد LOGIN_ENDPOINT
-- المسار إلى دليلك العام حيث سيقوم Dusker بنسخ الملف الذي يمكن الوصول إليه من المتصفح. افتراضيًا، يكون http://example.com/_dusker/login.php
. LOGIN_IMPLEMENTATION
الثاني -- المسار إلى الفصل الدراسي الخاص بك، والذي يستخدم منطق مشروعك مما يسمح بالمصادقة. يمكنك استخدام /tests/LoginManagerExample.php
كمثال لكيفية ظهوره.
تم إصدار Dusker بموجب ترخيص MIT. راجع ملف الترخيص المرفق للحصول على التفاصيل.