تخطى إلى المحتوى الرئيسي

خدمة 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