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

استفاده از سرویس‌های ابری

استفاده از سرویس‌های پرداخت بر اساس تقاضا مانند Sauce Labs، Browserstack، TestingBot، LambdaTest یا Perfecto با WebdriverIO بسیار ساده است. تنها کاری که باید انجام دهید این است که user و key سرویس خود را در تنظیمات خود قرار دهید.

به صورت اختیاری، می‌توانید آزمون خود را با تنظیم قابلیت‌های خاص ابری مانند build پارامتری کنید. اگر می‌خواهید سرویس‌های ابری را فقط در Travis اجرا کنید، می‌توانید از متغیر محیطی CI برای بررسی اینکه آیا در Travis هستید استفاده کرده و پیکربندی را مطابق با آن تغییر دهید.

// wdio.conf.js
export let config = {...}
if (process.env.CI) {
config.user = process.env.SAUCE_USERNAME
config.key = process.env.SAUCE_ACCESS_KEY
}

Sauce Labs

می‌توانید آزمون‌های خود را برای اجرای از راه دور در Sauce Labs تنظیم کنید.

تنها نیاز، تنظیم user و key در پیکربندی شما (که یا توسط wdio.conf.js صادر شده یا به webdriverio.remote(...) منتقل شده است) به نام کاربری و کلید دسترسی Sauce Labs شما است.

همچنین می‌توانید هر گزینه پیکربندی آزمون اختیاری را به عنوان کلید/مقدار در قابلیت‌های هر مرورگر وارد کنید.

Sauce Connect

اگر می‌خواهید آزمون‌ها را در برابر سروری که برای اینترنت قابل دسترسی نیست (مانند localhost) اجرا کنید، باید از Sauce Connect استفاده کنید.

پشتیبانی از این مورد خارج از محدوده WebdriverIO است، بنابراین باید خودتان آن را راه‌اندازی کنید.

اگر از آزمون‌گر WDIO استفاده می‌کنید، @wdio/sauce-service را دانلود کرده و در wdio.conf.js خود پیکربندی کنید. این کار به راه‌اندازی Sauce Connect کمک می‌کند و با ویژگی‌های اضافی همراه است که آزمون‌های شما را بهتر در سرویس Sauce ادغام می‌کند.

با Travis CI

با این حال، Travis CI پشتیبانی برای شروع Sauce Connect قبل از هر آزمون دارد، بنابراین پیروی از دستورالعمل‌های آنها یک گزینه است.

اگر چنین می‌کنید، باید گزینه پیکربندی آزمون tunnel-identifier را در capabilities هر مرورگر تنظیم کنید. Travis به طور پیش‌فرض این را به متغیر محیطی TRAVIS_JOB_NUMBER تنظیم می‌کند.

همچنین، اگر می‌خواهید Sauce Labs آزمون‌های شما را بر اساس شماره ساخت گروه‌بندی کند، می‌توانید build را روی TRAVIS_BUILD_NUMBER تنظیم کنید.

در نهایت، اگر name را تنظیم کنید، این نام آزمون را در Sauce Labs برای این ساخت تغییر می‌دهد. اگر از آزمون‌گر WDIO همراه با @wdio/sauce-service استفاده می‌کنید، WebdriverIO به طور خودکار نام مناسبی برای آزمون تنظیم می‌کند.

مثال capabilities:

browserName: 'chrome',
version: '27.0',
platform: 'XP',
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER,
name: 'integration',
build: process.env.TRAVIS_BUILD_NUMBER

زمان‌های انتظار

از آنجا که آزمون‌های خود را از راه دور اجرا می‌کنید، ممکن است نیاز به افزایش برخی زمان‌های انتظار باشد.

می‌توانید زمان انتظار بیکاری را با ارسال idle-timeout به عنوان یک گزینه پیکربندی آزمون تغییر دهید. این کنترل می‌کند که Sauce چه مدت بین دستورات قبل از بستن اتصال منتظر بماند.

BrowserStack

WebdriverIO همچنین دارای یک ادغام داخلی با Browserstack است.

تنها نیاز، تنظیم user و key در پیکربندی شما (که یا توسط wdio.conf.js صادر شده یا به webdriverio.remote(...) منتقل شده است) به نام کاربری و کلید دسترسی خودکار Browserstack شما است.

همچنین می‌توانید هر قابلیت پشتیبانی شده اختیاری را به عنوان کلید/مقدار در قابلیت‌های هر مرورگر وارد کنید. اگر browserstack.debug را true تنظیم کنید، یک ضبط صفحه از جلسه را ثبت می‌کند که ممکن است مفید باشد.

آزمون محلی

اگر می‌خواهید آزمون‌ها را در برابر سروری که برای اینترنت قابل دسترسی نیست (مانند localhost) اجرا کنید، باید از آزمون محلی استفاده کنید.

پشتیبانی از این مورد خارج از محدوده WebdriverIO است، بنابراین باید خودتان آن را راه‌اندازی کنید.

اگر از حالت محلی استفاده می‌کنید، باید browserstack.local را در قابلیت‌های خود true تنظیم کنید.

اگر از آزمون‌گر WDIO استفاده می‌کنید، @wdio/browserstack-service را دانلود کرده و در wdio.conf.js خود پیکربندی کنید. این کار به راه‌اندازی BrowserStack کمک می‌کند و با ویژگی‌های اضافی همراه است که آزمون‌های شما را بهتر در سرویس BrowserStack ادغام می‌کند.

با Travis CI

اگر می‌خواهید آزمون محلی را در Travis اضافه کنید، باید خودتان آن را راه‌اندازی کنید.

اسکریپت زیر آن را دانلود کرده و در پس‌زمینه راه‌اندازی می‌کند. باید این را قبل از شروع آزمون‌ها در Travis اجرا کنید.

wget https://www.browserstack.com/browserstack-local/BrowserStackLocal-linux-x64.zip
unzip BrowserStackLocal-linux-x64.zip
./BrowserStackLocal -v -onlyAutomate -forcelocal $BROWSERSTACK_ACCESS_KEY &
sleep 3

همچنین، ممکن است بخواهید build را به شماره ساخت Travis تنظیم کنید.

مثال capabilities:

browserName: 'chrome',
project: 'myApp',
version: '44.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'browserstack.local': 'true',
'browserstack.debug': 'true'

TestingBot

تنها نیاز، تنظیم user و key در پیکربندی شما (که یا توسط wdio.conf.js صادر شده یا به webdriverio.remote(...) منتقل شده است) به نام کاربری و کلید مخفی TestingBot شما است.

همچنین می‌توانید هر قابلیت پشتیبانی شده اختیاری را به عنوان کلید/مقدار در قابلیت‌های هر مرورگر وارد کنید.

آزمون محلی

اگر می‌خواهید آزمون‌ها را در برابر سروری که برای اینترنت قابل دسترسی نیست (مانند localhost) اجرا کنید، باید از آزمون محلی استفاده کنید. TestingBot یک تونل مبتنی بر جاوا ارائه می‌دهد تا به شما اجازه دهد وب‌سایت‌هایی را آزمایش کنید که از اینترنت قابل دسترسی نیستند.

صفحه پشتیبانی تونل آنها حاوی اطلاعات لازم برای راه‌اندازی این مورد است.

اگر از آزمون‌گر WDIO استفاده می‌کنید، @wdio/testingbot-service را دانلود کرده و در wdio.conf.js خود پیکربندی کنید. این کار به راه‌اندازی TestingBot کمک می‌کند و با ویژگی‌های اضافی همراه است که آزمون‌های شما را بهتر در سرویس TestingBot ادغام می‌کند.

LambdaTest

ادغام LambdaTest نیز داخلی است.

تنها نیاز، تنظیم user و key در پیکربندی شما (که یا توسط wdio.conf.js صادر شده یا به webdriverio.remote(...) منتقل شده است) به نام کاربری حساب LambdaTest و کلید دسترسی شما است.

همچنین می‌توانید هر قابلیت پشتیبانی شده اختیاری را به عنوان کلید/مقدار در قابلیت‌های هر مرورگر وارد کنید. اگر visual را true تنظیم کنید، یک ضبط صفحه از جلسه را ثبت می‌کند که ممکن است مفید باشد.

تونل برای آزمون محلی

اگر می‌خواهید آزمون‌ها را در برابر سروری که برای اینترنت قابل دسترسی نیست (مانند localhost) اجرا کنید، باید از آزمون محلی استفاده کنید.

پشتیبانی از این مورد خارج از محدوده WebdriverIO است، بنابراین باید خودتان آن را راه‌اندازی کنید.

اگر از حالت محلی استفاده می‌کنید، باید tunnel را در قابلیت‌های خود true تنظیم کنید.

اگر از آزمون‌گر WDIO استفاده می‌کنید، wdio-lambdatest-service را دانلود کرده و در wdio.conf.js خود پیکربندی کنید. این کار به راه‌اندازی LambdaTest کمک می‌کند و با ویژگی‌های اضافی همراه است که آزمون‌های شما را بهتر در سرویس LambdaTest ادغام می‌کند.

با Travis CI

اگر می‌خواهید آزمون محلی را در Travis اضافه کنید، باید خودتان آن را راه‌اندازی کنید.

اسکریپت زیر آن را دانلود کرده و در پس‌زمینه راه‌اندازی می‌کند. باید این را قبل از شروع آزمون‌ها در Travis اجرا کنید.

wget http://downloads.lambdatest.com/tunnel/linux/64bit/LT_Linux.zip
unzip LT_Linux.zip
./LT -user $LT_USERNAME -key $LT_ACCESS_KEY -cui &
sleep 3

همچنین، ممکن است بخواهید build را به شماره ساخت Travis تنظیم کنید.

مثال capabilities:

platform: 'Windows 10',
browserName: 'chrome',
version: '79.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'tunnel': 'true',
'visual': 'true'

Perfecto

هنگام استفاده از wdio با Perfecto، باید یک توکن امنیتی برای هر کاربر ایجاد کرده و آن را در ساختار قابلیت‌ها (علاوه بر سایر قابلیت‌ها) به شرح زیر اضافه کنید:

export const config = {
capabilities: [{
// ...
securityToken: "your security token"
}],

علاوه بر این، باید پیکربندی ابری را به شرح زیر اضافه کنید:

  hostname: "your_cloud_name.perfectomobile.com",
path: "/nexperience/perfectomobile/wd/hub",
port: 443,
protocol: "https",

Welcome! How can I help?

WebdriverIO AI Copilot