البدء
التثبيت
أسهل طريقة هي الحفاظ على @wdio/ocr-service
كتبعية في ملف package.json
الخاص بك.
- npm
- Yarn
- pnpm
npm install @wdio/ocr-service --save-dev
yarn add @wdio/ocr-service --dev
pnpm add @wdio/ocr-service --save-dev
يمكن العثور على تعليمات حول كيفية تثبيت WebdriverIO
هنا.
تستخدم هذه الوحدة Tesseract كمحرك للتعرف البصري على النصوص (OCR). بشكل افتراضي، ستتحقق مما إذا كان لديك تثبيت محلي لـ Tesseract على نظامك، وإذا كان الأمر كذلك، فستستخدمه. إذا لم يكن كذلك، فستستخدم وحدة Node.js Tesseract.js التي يتم تثبيتها تلقائيًا لك.
إذا كنت ترغب في تسريع معالجة الصور، فالنصيحة هي استخدام إصدار مثبت محليًا من Tesseract. انظر أيضًا وقت تنفيذ الاختبار.
يمكن العثور على تعليمات حول كيفية تثبيت Tesseract كتبعية للنظام على نظامك المحلي هنا.
للأسئلة/الأخطاء المتعلقة بتثبيت Tesseract، يرجى الرجوع إلى مشروع Tesseract.
دعم Typescript
تأكد من إضافة @wdio/ocr-service
إلى ملف تكوين 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
...............