انتقل إلى المحتوى الرئيسي

الأسئلة المتكررة

اختباراتي بطيئة جدًا

عندما تستخدم خدمة @wdio/ocr-service فأنت لا تستخدمها لتسريع اختباراتك، بل تستخدمها لأنك تواجه صعوبة في تحديد موقع العناصر في تطبيق الويب/الجوال، وتريد طريقة أسهل لتحديد موقعها. وجميعنا نعلم على الأرجح أنه عندما تريد شيئًا، فإنك تفقد شيئًا آخر. ولكن... هناك طريقة لجعل @wdio/ocr-service تعمل بشكل أسرع من المعتاد. يمكن العثور على مزيد من المعلومات حول ذلك هنا.

هل يمكنني استخدام أوامر هذه الخدمة مع أوامر/محددات WebdriverIO الافتراضية؟

نعم، يمكنك الجمع بين الأوامر لجعل البرنامج النصي الخاص بك أكثر قوة! النصيحة هي استخدام أوامر/محددات WebdriverIO الافتراضية قدر الإمكان واستخدام هذه الخدمة فقط عندما لا تتمكن من العثور على محدد فريد، أو عندما يكون المحدد الخاص بك هشًا للغاية.

لم يتم العثور على النص الخاص بي، كيف يمكن ذلك؟

أولاً، من المهم فهم كيفية عمل عملية التعرف البصري على النصوص (OCR) في هذه الوحدة، لذا يرجى قراءة هذه الصفحة. إذا كنت ما زلت غير قادر على العثور على النص الخاص بك، فقد تحاول الأشياء التالية.

منطقة الصورة كبيرة جدًا

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

التباين بين النص والخلفية غير صحيح

هذا يعني أنه قد يكون لديك نص فاتح على خلفية بيضاء أو نص داكن على خلفية داكنة. يمكن أن يؤدي ذلك إلى عدم القدرة على العثور على النص. في الأمثلة أدناه، يمكنك أن ترى أن النص Why WebdriverIO? أبيض ومحاط بزر رمادي. في هذه الحالة، سيؤدي ذلك إلى عدم العثور على نص Why WebdriverIO?. من خلال زيادة التباين للأمر المحدد، يتم العثور على النص ويمكن النقر عليه، انظر الصورة الثانية.

await driver.ocrClickOnText({
haystack: { height: 44, width: 1108, x: 129, y: 590 },
text: "WebdriverIO?",
// // With the default contrast of 0.25, the text is not found
contrast: 1,
});

مشاكل التباين

لماذا يتم النقر على العنصر الخاص بي ولكن لوحة المفاتيح على أجهزة الجوال الخاصة بي لا تظهر أبدًا؟

يمكن أن يحدث هذا في بعض حقول النص حيث يتم اعتبار النقرة طويلة جدًا وتعتبر نقرة طويلة. يمكنك استخدام خيار clickDuration على ocrClickOnText و ocrSetValue للتخفيف من ذلك. انظر هنا.

هل يمكن لهذه الوحدة أن تقدم عناصر متعددة كما يمكن أن يفعل WebdriverIO عادة؟

لا، هذا غير ممكن حاليًا. إذا وجدت الوحدة عناصر متعددة تطابق المحدد المقدم، فستجد تلقائيًا العنصر الذي له أعلى درجة تطابق.

هل يمكنني أتمتة تطبيقي بالكامل باستخدام أوامر OCR التي توفرها هذه الخدمة؟

لم أفعل ذلك من قبل، ولكن من الناحية النظرية، يجب أن يكون ذلك ممكنًا. يرجى إخبارنا إذا نجحت في ذلك ☺️.

أرى ملفًا إضافيًا يسمى {languageCode}.traineddata تمت إضافته، ما هذا؟

{languageCode}.traineddata هو ملف بيانات لغة يستخدمه Tesseract. يحتوي على بيانات التدريب للغة المحددة، والتي تتضمن المعلومات اللازمة لـ Tesseract للتعرف على الأحرف والكلمات الإنجليزية بفعالية.

محتويات {languageCode}.traineddata

يحتوي الملف عمومًا على:

  1. بيانات مجموعة الأحرف: معلومات حول الأحرف في اللغة الإنجليزية.
  2. نموذج اللغة: نموذج إحصائي لكيفية تشكيل الأحرف للكلمات وتشكيل الكلمات للجمل.
  3. مستخرجات الميزات: بيانات حول كيفية استخراج الميزات من الصور للتعرف على الأحرف.
  4. بيانات التدريب: بيانات مستمدة من تدريب Tesseract على مجموعة كبيرة من صور النصوص الإنجليزية.

لماذا {languageCode}.traineddata مهم؟

  1. التعرف على اللغة: يعتمد Tesseract على ملفات البيانات المدربة هذه للتعرف بدقة على النص ومعالجته بلغة محددة. بدون {languageCode}.traineddata، لن يتمكن Tesseract من التعرف على النص الإنجليزي.
  2. الأداء: ترتبط جودة ودقة OCR مباشرة بجودة بيانات التدريب. استخدام ملف البيانات المدربة الصحيح يضمن أن عملية OCR دقيقة قدر الإمكان.
  3. التوافق: التأكد من تضمين ملف {languageCode}.traineddata في مشروعك مما يجعل من السهل تكرار بيئة OCR عبر أنظمة مختلفة أو أجهزة أعضاء الفريق.

إدارة إصدارات {languageCode}.traineddata

يوصى بتضمين {languageCode}.traineddata في نظام التحكم بالإصدار للأسباب التالية:

  1. الاتساق: يضمن ذلك أن جميع أعضاء الفريق أو بيئات النشر تستخدم نفس إصدار بيانات التدريب بالضبط، مما يؤدي إلى نتائج OCR متسقة عبر بيئات مختلفة.
  2. إمكانية إعادة الإنتاج: يسهل تخزين هذا الملف في التحكم بالإصدار إعادة إنتاج النتائج عند تشغيل عملية OCR في وقت لاحق أو على جهاز مختلف.
  3. إدارة التبعيات: يساعد تضمينه في نظام التحكم بالإصدار في إدارة التبعيات ويضمن أن أي إعداد أو تكوين للبيئة يتضمن الملفات اللازمة لتشغيل المشروع بشكل صحيح.

هل هناك طريقة سهلة لرؤية النص الموجود على شاشتي بدون تشغيل اختبار؟

نعم، يمكنك استخدام معالج CLI الخاص بنا لذلك. يمكن العثور على الوثائق هنا

Welcome! How can I help?

WebdriverIO AI Copilot