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

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

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