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

البدء

التثبيت

أسهل طريقة هي الحفاظ على @wdio/ocr-service كتبعية في ملف package.json الخاص بك.

npm install @wdio/ocr-service --save-dev

يمكن العثور على تعليمات حول كيفية تثبيت WebdriverIO هنا.

ملاحظة

تستخدم هذه الوحدة Tesseract كمحرك للتعرف البصري على النصوص (OCR). بشكل افتراضي، ستتحقق مما إذا كان لديك تثبيت محلي لـ Tesseract على نظامك، وإذا كان الأمر كذلك، فستستخدمه. إذا لم يكن كذلك، فستستخدم وحدة Node.js Tesseract.js التي يتم تثبيتها تلقائيًا لك.

إذا كنت ترغب في تسريع معالجة الصور، فالنصيحة هي استخدام إصدار مثبت محليًا من Tesseract. انظر أيضًا وقت تنفيذ الاختبار.

يمكن العثور على تعليمات حول كيفية تثبيت Tesseract كتبعية للنظام على نظامك المحلي هنا.

تنبيه

للأسئلة/الأخطاء المتعلقة بتثبيت Tesseract، يرجى الرجوع إلى مشروع Tesseract.

دعم Typescript

تأكد من إضافة @wdio/ocr-service إلى ملف تكوين tsconfig.json الخاص بك.

tsconfig.json
{
"compilerOptions": {
"types": ["node", "@wdio/globals/types", "@wdio/ocr-service"]
}
}

التكوين

لاستخدام الخدمة، تحتاج إلى إضافة ocr إلى مصفوفة الخدمات في wdio.conf.ts

// wdio.conf.js
exports.config = {
//...
services: [
// your other services
[
"ocr",
{
contrast: 0.25,
imagesFolder: ".tmp/",
language: "eng",
},
],
],
};

خيارات التكوين

contrast

  • النوع: number
  • إلزامي: لا
  • القيمة الافتراضية: 0.25

كلما ارتفع التباين، كلما أصبحت الصورة أغمق والعكس صحيح. هذا يمكن أن يساعد في العثور على النص في الصورة. يقبل قيم بين -1 و 1.

imagesFolder

  • النوع: string
  • إلزامي: لا
  • القيمة الافتراضية: {project-root}/.tmp/ocr

المجلد الذي يتم فيه تخزين نتائج OCR.

ملاحظة

إذا قمت بتوفير imagesFolder مخصص، فستضيف الخدمة تلقائيًا المجلد الفرعي ocr إليه.

language

  • النوع: string
  • إلزامي: لا
  • القيمة الافتراضية: eng

اللغة التي سيتعرف عليها Tesseract. يمكن العثور على مزيد من المعلومات هنا ويمكن العثور على اللغات المدعومة هنا.

السجلات

ستضيف هذه الوحدة تلقائيًا سجلات إضافية إلى سجلات WebdriverIO. تكتب إلى سجلات INFO و WARN باسم @wdio/ocr-service. يمكن العثور على أمثلة أدناه.

...............
[0-0] 2024-05-24T06:55:12.739Z INFO @wdio/ocr-service: Adding commands to global browser
[0-0] 2024-05-24T06:55:12.750Z INFO @wdio/ocr-service: Adding browser command "ocrGetText" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrGetElementPositionByText" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrWaitForTextDisplayed" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrClickOnText" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrSetValue" to browser object
...............
[0-0] 2024-05-24T06:55:13.667Z INFO @wdio/ocr-service:getData: Using system installed version of Tesseract
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:getData: It took '0.351s' to process the image.
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:getData: The following text was found through OCR:
[0-0]
[0-0] IQ Docs API Blog Contribute Community Sponsor Next-gen browser and mobile automation Welcome! How can | help? i test framework for Node.js Get Started Why WebdriverI0? View on GitHub Watch on YouTube
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:getData: OCR Image with found text can be found here:
[0-0]
[0-0] .tmp/ocr/desktop-1716533713585.png
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:ocrGetElementPositionByText: We searched for the word "Get Started" and found one match "Started" with score "63.64
...............

Welcome! How can I help?

WebdriverIO AI Copilot