پرش به محتوای اصلی

سرویس لمبداتست

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

برای فعال کردن مسیریابی اتصالات از ابر LambdaTest از طریق کامپیوتر شما، این گزینه را روی true تنظیم کنید. همچنین باید tunnel را در قابلیت‌های مرورگر روی true تنظیم کنید.

نوع: Boolean
پیش‌فرض: false

lambdatestOpts

گزینه‌های اختیاری مشخص شده به LambdaTest Tunnel منتقل خواهند شد.

نوع: Object
پیش‌فرض: {}

در زیر فهرست جامعی از تمام گزینه‌های موجود آمده است:

tunnelName

نام سفارشی LambdaTest Tunnel که باید استفاده شود را مشخص می‌کند.

مثال:

{"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 (پیکربندی خودکار پروکسی) در تست محلی، مسیر فایل 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 را مشخص کنید.

مثال:

{"sshConnType": "over_22"}

maxSSHConnections

اتصال SSH از Tunnel Client به Tunnel Server را افزایش دهید. حداکثر مقدار مجاز 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

مسیر فایل گواهینامه Client mTLS.

مثال:

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

clientKey

مسیر فایل کلید Client 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

مسیر فایل pid، جایی که ID فرآیند نوشته خواهد شد.

مثال:

{"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

برای دریافت نام‌های تست به عنوان نام‌های سناریو برای تست‌های خاص خیار، به سادگی useScenarioName: true را در wdio.conf.js خود اضافه کنید.

مراحل کامپایل و انتشار

  1. این مخزن را 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