جافاسكريبت - كيف يمكنني جعل Playwright يستمع إلى أحداث الرسائل

لدي موقع ويب يتواصل عبر أوامر postMessage

window.parent.postMessage(communication, this.origin);

عند استخدام Playwright، أحاول تنفيذ معالج "عند الرسالة"

function eventListener(returnEvent: any): any { window.addEventListener('message', function(event: MessageEve

اقرأ أكثر →

TypeScript - كيف يمكنني جعل Playwright يستخدم Apple Silicon بدلاً من Intel Chrome على جهاز Mac M1؟

لقد انتقلت مؤخرًا من جهاز Mac Mini قديم منخفض القدرة إلى جهاز Mac Studio جديد بشريحة M1 ماكس.

فجأة بدأت اختبارات Playwright e2e الخاصة بي تعمل ببطء شديد.

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

لقد قمت بتشغيل الاختبارات في وضع التصحيح وفحصت إصدار Chrome، وقال إنه يستخدم إصدار Intel المترجم من Chrome بدلاً من إصدار arm

اقرأ أكثر →

الحصول على قيمة خلية محددة من Playwright باستخدام TypeScript

لدي جدول يحتوي على n أعمدة وصفوف. أود الحصول على قيمة "العمود X" التي يكون فيها "الاسم" "رام" من خلال Playwright

لقد جربت من خلال التكرار ولكنه لم ينجح (جميع رؤوسي موجودة في الجدول 1 ومحتوى الجسم في الجدول 2)

let columns = await this.page.locator("//th[@role='columnheader']").count

اقرأ أكثر →

تايب سكريبت - البدل في page.frame في Playwright (خيار url)

أحاول إيجاد طريقة لاستخدام رمز البدل في دالة page.frame(url) في Playwright، لدي هذا الكود:

await page.frame({ url: 'http://192.168.20.222:8080/ords/f?p=150:13:12188371642929::NO:13::&cs=3rW0d3IdG36wpBBz1GAnD2UV8kf7xWvgqUaa28l5eceRm71VjW6F33ufnHQnEvSAJpbB7CSDdVQNXeKOyLRYnQw&p_dialog_cs=

اقرأ أكثر →

TypeScript - Playwright: طريقة evaluate تُرجع JSON للعقدة

حاولت الحصول على مصفوفة من العناصر بصيغة JSON.

<button type="button" class="btn btn-xs margin-right active"><i class="fal fa-eye"</i>Icon</button> <button type="button" class="btn btn-xs margin-right active"></button> <butt

اقرأ أكثر →

جافا سكريبت - إرسال النموذج لا يعمل في Webkit Playwright

لدي صفحة تسجيل دخول بسيطة أحاول اختبارها باستخدام Playwright.

<form method="POST" name="login"> <input type="hidden" name="captcha_response"> <input type="hidden" name="_token" value="token"> <div class="

اقرأ أكثر →

تايب سكريبت - فشل Playwright في المصادقة إلى Firebase باستخدام حالة التخزين

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

  1. هناك ملف إعداد مع تسجيل الدخول واسترجاع وحفظ حالة التخزين.

  1. يوجد م

    اقرأ أكثر →

تايبسكريبت - لماذا لا تعمل ميزة الإكمال التلقائي (IntelliSense) في VS Code ل CodeceptJS باستخدام Playwright؟

أحاول إنشاء بيئة تدريبية لـ CodeceptJS باستخدام TypeScript و Playwright، لكن لسبب ما يرفض IntelliSense في VSCode عرض أي اقتراحات. يمكنني كتابة الكود يدويًا وهذا جيد ويعمل، لكني أود الحصول على IntelliSense يعمل.

لقد اتبعت دليل البداية السريعة على موقع CodeceptJS حرفيًا بالخطوات التالية:

  1. افتح الدليل ونفذ الأمر npx create-codeceptjs . هذا يقوم بتنفيذ npm init ثم يثبت جميع الحزم المطلوبة لـ Codecept و Playwright قبل أن يقوم أخيراً بتنفيذ npx codece

    اقرأ أكثر →

تايبسكريبت - كيف تنقر على زر في صف معين في Playwright؟

أنا أكتب اختبارًا في Playwright وTypeScript. لدي صفان، وفي كلاهما نفس الزر، الذي يوسع الصف، وفئة الزر في كلاهما هي نفسها: "". أنا أضغط على الزر بهذا الشكل:

await page.click(".ant-table-row-expand-icon")

أريد النقر فقط على زر موجود في صف محدد لتوسيع الصف؛ يتم إضافة الصفوف عشوائياً في كل مرة يتم فيها تشغيل الاختبارات، ويتم تعيين الصفوف على أنها "rowId". المشكلة هي أنه بعد تشغيل واحد، أنقر على الزر في الصف الصحيح

اقرأ أكثر →

اختبار - هل يدعم Playwright Test الكائن globalThis؟ (TypeScript/JavaScript)

  1. لقد عرّفت في ملف global.d.ts كما يلي
declare global { var some: string }
  1. لقد قمت بتعيين القيمة في global.setup.ts كما يلي
globalThis.some = 'fff'
  1. لقد أشرت إليه في ملف الاختبار كما يلي
console.log(globalThis.some)

ولم أرَ fff في سجل الكونسول، ولم يُبلغ عن أي خطأ أيضًا.

أي فكرة؟

أتوقع رؤية fff

اقرأ أكثر →