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

خدمة LambdaTest

wdio-lambdatest-service هي حزمة من طرف ثالث، لمزيد من المعلومات يرجى زيارة GitHub | npm

WDIO health check

خدمة WebdriverIO التي تدير النفق وبيانات التعريف للمهام لمستخدمي LambdaTest.

التثبيت

npm i wdio-lambdatest-service --save-dev

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

الإعداد

يتمتع WebdriverIO بدعم LambdaTest بشكل أساسي. يجب عليك ببساطة تعيين user وkey في ملف wdio.conf.js الخاص بك. لتمكين الميزة لأتمتة التطبيقات، قم بتعيين product: 'appAutomation' في ملف wdio.conf.js الخاص بك. يوفر هذا البرنامج المساعد للخدمة دعمًا لـ LambdaTest Tunnel. قم بتعيين tunnel: true أيضًا لتنشيط هذه الميزة.

// wdio.conf.js
exports.config = {
// ...
user: process.env.LT_USERNAME,
key: process.env.LT_ACCESS_KEY,
logFile : './logDir/api.log',
product : 'appAutomation',
services: [
['lambdatest', {
tunnel: true
}]
],
// ...
};

للحصول على ملاحظات خطأ الاختبار على لوحة معلومات الأتمتة

للحصول على ملاحظات خطأ الاختبار على لوحة معلومات الأتمتة، قم ببساطة بإضافة ltErrorRemark: true في ملف wdio.conf.js الخاص بك.

لرفع التطبيق من الجهاز المحلي أو عبر URL

قم برفع تطبيقات android أو ios من التطبيق المحلي أو URL المستضاف من خلال إضافة هذا الإعداد المطلوب في ملف wdio.conf.js الخاص بك. لاستخدام التطبيق المرفوع للاختبار في نفس التشغيل، قم بتعيين enableCapability = true، وهذا سيضبط قيمة URL التطبيق في الإمكانيات.

// wdio.conf.js
services: [
[
"lambdatest",
{
tunnel: true,
app_upload: true,
app:{
app_name : "xyz", //provide your desired app name
app_path : "/path/to/your/app/file", //provide the local app location
// or
app_url : "https://example.test_android.apk", //provide the url where your app is horsted or stored
custom_id : "12345", //provide your desired custom id
enableCapability : true
}
}
]
]

الخيارات

من أجل التفويض لخدمة LambdaTest، يجب أن يحتوي التكوين الخاص بك على خيار user و key.

tunnel

قم بتعيين هذا إلى true لتمكين توجيه الاتصالات من سحابة LambdaTest من خلال جهاز الكمبيوتر الخاص بك. ستحتاج أيضًا إلى تعيين tunnel إلى true في إمكانيات المتصفح.

النوع: Boolean
الافتراضي: false

lambdatestOpts

سيتم تمرير الخيارات المحددة اختيارياً إلى LambdaTest Tunnel.

النوع: Object
الافتراضي: {}

فيما يلي قائمة شاملة بجميع الخيارات المتاحة:

tunnelName

يحدد اسم نفق LambdaTest المخصص المراد استخدامه.

مثال:

{"tunnelName": "my_custom_tunnel"}

port

منفذ LambdaTest Tunnel للتنشيط.

مثال:

{"port": 33000}

user

اسم المستخدم LambdaTest.

مثال:

{"user": "your_username"}

key

مفتاح الوصول LambdaTest.

مثال:

{"key": "your_access_key"}

verbose

هل يجب تسجيل كل طلب وكيل في stdout.

مثال:

{"verbose": true}

logFile

موقع ملف سجل LambdaTest Tunnel.

مثال:

{"logFile": "/path/to/log/file"}

config

مسار ملف التكوين المراد استخدامه. مثال:

{"config": "/path/to/config/file"}

dir

حدد الدليل المحلي الذي سيتم تقديمه بواسطة خادم ملفات على منفذ Tunnel.

مثال:

{"dir": "/path/to/local/directory"}

proxyHost

يحدد اسم مضيف منفذ وكيل Tunnel.

مثال:

{"proxyHost": "proxy.example.com"}

proxyUser

يحدد اسم مستخدم منفذ وكيل Tunnel.

مثال:

{"proxyUser": "your_proxy_username"}

proxyPass

يحدد كلمة مرور منفذ وكيل Tunnel.

مثال:

{"proxyPass": "your_proxy_password"}

proxyPort

يحدد رقم المنفذ الذي سيتم تنشيط وكيل Tunnel فيه.

مثال:

{"proxyPort": 8080}

egressOnly

يستخدم إعدادات الوكيل للطلبات الصادرة فقط.

مثال:

{"egressOnly": true}

ingressOnly

يوجه حركة المرور الواردة فقط عبر الوكيل المحدد.

مثال:

{"ingressOnly": true}

pacfile

لاستخدام PAC (Proxy Auto-Configuration) في الاختبار المحلي، قم بتقديم مسار ملف PAC.

مثال:

{"pacfile": "/path/to/pacfile"}

loadBalanced

ينشط توازن الحمل لـ LambdaTest Tunnel.

مثال:

{"loadBalanced": true}

mode

يحدد الوضع الذي يجب أن يعمل فيه النفق "ssh" أو "ws". (الافتراضي "ssh").

مثال:

{"mode": "ssh"}

sshConnType

حدد نوع اتصال ssh (over_22, over_443, over_ws). لاستخدام --sshConnType، حدد ––mode ssh flag أولاً.

مثال:

{"sshConnType": "over_22"}

maxSSHConnections

زيادة اتصال SSH من عميل Tunnel إلى خادم Tunnel. الحد الأقصى المسموح به هو 30.

مثال:

{"maxSSHConnections": 2}

sharedTunnel

مشاركة Tunnel بين أعضاء الفريق.

مثال:

{"sharedTunnel": true}

env

البيئة التي سيعمل عليها LambdaTest Tunnel.

مثال:

{"env": "production"}

infoAPIPort

يكشف Tunnel Info API في المنفذ المحدد.

مثال:

{"infoAPIPort": 8080}

callbackURL

عنوان URL لرد الاتصال لحالة النفق.

مثال:

{"callbackURL": "https://example.com/callback"}

allowHosts

قائمة المضيفين المفصولة بفواصل للتوجيه عبر النفق. سيتم توجيه كل شيء آخر عبر الإنترنت.

مثال:

{"allowHosts": "example.com,anotherexample.com"}

bypassHosts

قائمة المضيفين المفصولة بفواصل لتجاوزها من النفق. سيتم توجيه هذه عبر الإنترنت.

مثال:

{"bypassHosts": "example.com,anotherexample.com"}

clientCert

مسار ملف شهادة العميل mTLS.

مثال:

{"clientCert": "/path/to/client_certificate"}

clientKey

مسار ملف مفتاح العميل mTLS.

مثال:

{"clientKey": "/path/to/client_key"}

mTLSHosts

قائمة مضيفي mTLS مفصولة بفواصل.

مثال:

{"mTLSHosts": "example.com,anotherexample.com"}

dns

قائمة خوادم DNS مفصولة بفواصل.

مثال:

{"dns": "8.8.8.8,8.8.4.4"}

mitm

تمكين وضع MITM (Man-in-the-middle) لـ LambdaTest Tunnel.

مثال:

{"mitm": true}

ntlm

لاستخدام مصادقة Microsoft NTLM (Windows NT LAN Manager) للاتصال أو أغراض النقل.

مثال:

{"ntlm": true}

pidfile

مسار ملف pidfile، حيث سيتم كتابة معرف العملية.

مثال:

{"pidfile": "/path/to/pidfile"}

usePrivateIp

يضبط العنوان البعيد على IP داخلي لجهاز العميل.

مثال:

{"usePrivateIp": true}

يمكنك معرفة المزيد حول هذه الخيارات هنا.

preferScenarioName

Cucumber فقط. قم بتعيين اسم الجلسة إلى اسم السيناريو إذا تم تشغيل سيناريو واحد فقط. مفيد عند التشغيل بالتوازي مع wdio-cucumber-parallel-execution.

النوع: Boolean
الافتراضي: false

sessionNameFormat

تخصيص تنسيق اسم الجلسة.

النوع: Function
الافتراضي (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
الافتراضي (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle

sessionNameOmitTestTitle

Mocha فقط. لا تقم بإلحاق عنوان الاختبار باسم الجلسة.

النوع: Boolean
الافتراضي: false

sessionNamePrependTopLevelSuiteTitle

Mocha فقط. قم بإلحاق عنوان المجموعة العليا إلى اسم الجلسة.

النوع: Boolean
الافتراضي: false

setSessionName

قم تلقائيًا بتعيين اسم الجلسة.

النوع: Boolean
الافتراضي: true

setSessionStatus

قم تلقائيًا بتعيين حالة الجلسة (نجاح/فشل).

النوع: Boolean
الافتراضي: true

ignoreTestCountInName

تجاهل عدد إعادة المحاولات للاختبار في الاسم

النوع: Boolean
الافتراضي: false

useScenarioName

للحصول على أسماء الاختبارات كأسماء سيناريو للاختبارات الخاصة بـ cucumber، قم ببساطة بإضافة useScenarioName: true في ملف wdio.conf.js الخاص بك.

خطوات التجميع والنشر

  1. انسخ هذا المستودع بواسطة git clone.
  2. قم بتشغيل "npm install"
  3. قم بتشغيل "npm run build"
  4. خطوات النشر: قم بتشغيل "npm login"
  5. قم بتشغيل "npm publish --access public"

لمزيد من المعلومات حول WebdriverIO، راجع الصفحة الرئيسية.

Welcome! How can I help?

WebdriverIO AI Copilot