پیکربندی
بر اساس تنظیم نوع (مثلاً با استفاده از اتصال پروتکل خام، WebdriverIO به عنوان بسته مستقل و اجرا کننده تست WDIO) مجموعه متفاوتی از گزینه ها برای کنترل محیط وجود دارد.
گزینه های WebDriver
هنگام استفاده از بسته پروتکل webdriver
گزینه های زیر تعریف می شوند:
protocol
پروتکل مورد استفاده در هنگام برقراری ارتباط با سرور درایور.
Type: String
Default: http
hostname
میزبان سرور درایور شما.
Type: String
Default: localhost
port
پورتی که سرور درایور شما روی آن است.
Type: Number
Default: 4444
path
مسیری به سرور درایور شما.
Type: String
Default: /
queryParams
پارامترهای درخواست که به سرور درایور انتشار می یابند.
Type: Object
Default: null
user
نام کاربری سرویس ابری شما (فقط برای اکانت های Sauce Labs, Browserstack, TestingBot, CrossBrowserTesting or LambdaTest کار می کند). در صورت تنظیم، WebdriverIO به طور خودکار ویژگی های اتصال را برای شما تنظیم می کند. اگر از ارائهدهنده ابری استفاده نمیکنید، میتوان از آن برای احراز هویت هر بک اند WebDriver دیگری استفاده کرد.
Type: String
Default: null
key
کلید دسترسی به سرویس ابری یا کلید مخفی شما (فقط برای اکانت های Sauce Labs, Browserstack, TestingBot, CrossBrowserTesting or LambdaTest کار می کند). در صورت تنظیم، WebdriverIO به طور خودکار ویژگی های اتصال را برای شما تنظیم می کند. اگر از ارائهدهنده ابری استفاده نمیکنید، میتوان از آن برای احراز هویت هر بک اند WebDriver دیگری استفاد ه کرد.
Type: String
Default: null
capabilities
قابلیت(Capability) هایی را که می خواهید در جلسه WebDriver خود اجرا کنید را تعریف می کند. برای جزئیات بیشتر، پروتکل WebDriver را بررسی کنید. اگر درایور قدیمیتری را اجرا میکنید که از پروتکل WebDriver پشتیبانی نمیکند، برای اجرای موفقیتآمیز یک جلسه، باید از قابلیتهای JSONWireProtocol استفاده کنید.
در کنار قابلیتهای مبتنی بر WebDriver، میتوانید گزینههایی که خاص یک مرورگر و یا سازنده خاصی است را اعمال کنید که امکان پیکربندی عمیقتر را برای مرورگر یا دستگاه در راه دور فراهم میکند. اینها در اسناد سازنده مربوطه مستند شده اند، به عنوان مثال:
goog:chromeOptions
: for Google Chromemoz:firefoxOptions
: for Mozilla Firefoxms:edgeOptions
: for Microsoft Edgesauce:options
: for Sauce Labsbstack:options
: for BrowserStackselenoid:options
: for Selenoid
علاوه بر این، یک ابزار مفید Sauce Labs Automated Test Configurator است که به شما کمک می کند این شی را با کلیک کردن روی قابلیت های مورد نظر خود ایجاد کنید.
Type: Object
Default: null
مثال:
{
browserName: 'chrome', // options: `chrome`, `edge`, `firefox`, `safari`
browserVersion: '27.0', // browser version
platformName: 'Windows 10' // OS platform
}
اگر تست های وب یا بومی را روی دستگاه های تلفن همراه اجرا می کنید، قابلیت(Capability)
با پروتکل WebDriver متفاوت است. برای جزئیات بیشتر به Appium Docs مراجعه کنید.
logLevel
سطح و میزان لاگ.
Type: String
Default: info
Options: trace
| debug
| info
| warn
| error
| silent
outputDir
دایرکتوری برای ذخیره همه فایلهای لاگ اجرا کننده تست (از جمله لاگهای گزارشدهنده ها و لاگ wdio
). اگر تنظیم نشود، همه گزارشها به stdout
ارسال میشوند. از آنجایی که اکثر گزارشدهنده ها برای لاگ در stdout
ساخته شده اند، توصیه می شود از این گزینه فقط برای گزارشدهنده های خاصی استفاده شود که در آن انتقال گزارش به یک فایل منطقی تر است (مثلاً گزارشدهنده junit
).
هنگامی که در حالت مستقل اجرا می شود، تنها گزارشی که توسط WebdriverIO ایجاد می شود، گزارش wdio
خواهد بود.
Type: String
Default: null
connectionRetryTimeout
مهلت زمانی برای هر درخواست WebDriver به درایور یا شبکه.
Type: Number
Default: 120000
connectionRetryCount
حداکثر تعداد درخواستهای مجدد به سرور سلنیوم.
Type: Number
Default: 3
agent
به شما امکان می دهد از یک عامل سفارشی http
/https
/http2
برای درخواست استفاده کنید.
Type: Object
Default:
{
http: new http.Agent({ keepAlive: true }),
https: new https.Agent({ keepAlive: true })
}
headers
مشخص کردن headers
های سفارشی برای ارسال با هر درخواست WebDriver و هنگام اتصال به مرورگر از طریق Puppeteer با استفاده از پروتکل CDP.
این header ها به درخواست مرورگر منتقل نمی شوند. اگر به دنبال اصلاح هدر درخواست، برای درخواست های مرورگر هستید، لطفاً در #6361 شرکت کنید!
Type: Object
Default: {}
transformRequest
تابعی برای intercept کردن ویژگی های درخواست HTTP قبل از درخواست WebDriver
Type: (RequestOptions) => RequestOptions
Default: none
transformResponse
تابعی برای intercept اشیاء در پاسخ HTTP پس از رسیدن پاسخ WebDriver. تابع به شیء پاسخ اصلی به عنوان اولین و RequestOptions
مربوطه به عنوان آرگومان دوم ارسال می شود.
Type: (Response, RequestOptions) => Response
Default: none
strictSSL
آیا برای معتبر بودن به گواهی SSL نیاز هست یا خیر. می توان آن را از طریق متغیرهای محیطی به صورت STRICT_SSL
یا strict_ssl
تنظیم کرد.
Type: Boolean
Default: true