ساس لبز
تمام دستورات فقط در مرورگر کروم با استفاده از قابلیتهای اشکالزدایی گسترده ساس لبز پشتیبانی میشوند. شما میتوانید این قابلیتها را با تنظیم گزینههای ساس به صورت زیر فعال کنید:
{
browserName: 'Chrome',
browserVersion: 'latest',
platformName: 'Windows 10',
'sauce:options': {
extendedDebugging: true
}
}
getPageLogs
دریافت اطلاعات گزارش مخصوص صفحه وب بر اساس آخرین بارگذاری صفحه.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.getPageLogs(type)
پارامترها
نام | نوع | جزئیات |
---|---|---|
type | string | نوع گزارش (مانند 'sauce:network'، 'sauce:performance') |
مثالها
// Get Network Logs
console.log(browser.getPageLogs('sauce:network'));
/**
* outputs:
* [{
* "url": "https://app.saucelabs.com/dashboard",
* "statusCode": 200,
* "method": "GET",
* "requestHeaders": {
* ...
* },
* "responseHeaders": {
* ...
* },
* "timing": {
* ...
* }
* }, {,
* ...
* }]
*/
// Get Performance Logs (needs capturePerformance capability see: https://docs.saucelabs.com/performance/transitions/#setting-performance-capabilities
console.log(browser.getPageLogs('sauce:performance'));
/**
* outputs:
* {
* "speedIndex": 1472.023,
* "timeToFirstInteractive": 1243.214,
* "firstMeaningfulPaint": 892.643,
* ...
* }
*/
مقادیر برگشتی
- <object>
log
: خروجی گزارش نوع مورد نظر (نمونه را ببینید)
sauceThrottleNetwork
با شرایط شبکه میتوانید سایت خود را در انواع مختلف اتصالات شبکه، از جمله Edge، 3G و حتی آفلاین آزمایش کنید. میتوانید توان داده را محدود کنید، از جمله حداکثر توان دانلود و آپلود، و از دستکاری تاخیر برای اعمال حداقل تاخیر در زمان رفت و برگشت اتصال (RTT) استفاده کنید.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.sauceThrottleNetwork(condition)
پارامترها
نام | نوع | جزئیات |
---|---|---|
condition | string, object | شرایط شبکه برای تنظیم (مانند 'online'، 'offline'، 'GPRS'، 'Regular 2G'، 'Good 2G'، 'Regular 3G'، 'Good 3G'، 'Regular 4G'، 'DSL'، 'Wifi') |
مثالها
// predefined network condition
browser.sauceThrottleNetwork('offline')
// custom network condition
browser.sauceThrottleNetwork({
download: 1000,
upload: 500,
latency: 40'
})
throttleCPU
میتوانید CPU را در DevTools محدود کنید تا نحوه عملکرد صفحه خود را تحت آن محدودیت درک کنید.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.throttleCPU(rate)
پارامترها
نام | نوع | جزئیات |
---|---|---|
rate | number | نرخی که بر اساس آن CPU باید محدود شود. |
مثالها
// throttle CPU and make it run 4x slower
browser.throttleCPU(4)
// reset CPU throttling
browser.throttleCPU(0)
interceptRequest
اجازه میدهد هر درخواستی که توسط مرورگر انجام میشود را تغییر دهید. میتوانید این درخواستها را در لیست سیاه قرار دهید، تغییر دهید یا تغییر مسیر دهید، همانطور که برای آزمایشهای خود نیاز دارید.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.interceptRequest(rule)
پارامترها
نام | نوع | جزئیات |
---|---|---|
rule | object | قانونی که رهگیری درخواست را توصیف میکند. |
مثالها
// redirect a request
browser.interceptRequest({
url: 'https://saucelabs.com',
redirect: 'https://google.com'
})
// Blacklist requests to 3rd party vendors
browser.interceptRequest({
url: 'https://api.segment.io/v1/p',
error: 'Failed'
})
// Modify requests to REST API (Mock REST API response)
browser.interceptRequest({
url: 'http://sampleapp.appspot.com/api/todos',
response: {
headers: {
'x-custom-headers': 'foobar'
},
body: [{
title: 'My custom todo',
order: 1,
completed: false,
url: 'http://todo-backend-express.herokuapp.com/15727'
}]
}
})
assertPerformance
سنجش برابر خط مبنای عملکرد برنامه شما.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.assertPerformance(name, metrics)
پارامترها
نام | نوع | جزئیات |
---|---|---|
name | string | نام کاری که با آن خط مبنای خود را ایجاد کردهاید. |
metrics اختیاری | string[] | نام معیارهایی که میخواهید در برابر خط مبنا بسنجید. |
مثال
// test performance for a page
browser.url('https://webdriver.io')
const hasRegression = browser.assertPerformance({
name: 'my performance test', // make sure that the name is also set in the sauce options in your capabilities
metrics: ['score', 'firstPaint']
})
مقادیر برگشتی
- <object>
hasRegression
: یک شی که شامل نتیجه و همچنین معیارهای مربوط به نتیجه است.
jankinessCheck
یک تست اسکرول انجام دهید که میزان لگزدگی برنامه را ارزیابی میکند.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.jankinessCheck()
مثال
// test performance for a page
browser.url('https://webdriver.io')
browser.jankinessCheck()
مقادیر برگشتی
- <object>
testResults
: یک شی که شامل امتیاز و همچنین معیارهای مربوط به میزان روان بودن تجربه کاربری صفحه در طول آزمایش است.
mockRequest
یک منبع شبکه را شبیهسازی میکند.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.mockRequest(url, filterOptions)
پارامترها
نام | نوع | جزئیات |
---|---|---|
url | string | الگوی URL برای تطبیق با آدرس شبیهسازی شده. |
filterOptions اختیاری | object | گزینههای فیلتر اضافی برای آدرس شبیهسازی شده (مانند headers، method). |
مقادیر برگشتی
- <object>
mockId
: یک شی که شامل شناسه منبع شبیهسازی شده است.
getMockCalls
دریافت اطلاعات درخواستهای مطابق با منبع شبیهسازی شده.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.getMockCalls(mockId)
پارامترها
نام | نوع | جزئیات |
---|---|---|
mockId | String | شناسه یک شبیهسازی |
مقادیر برگشتی
- <object>
requests
: لیستی از اطلاعات درخواستها.
clearMockCalls
پاک کردن لیست فراخوانیهای شبیهسازی شده.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.clearMockCalls(mockId, restore)
پارامترها
نام | نوع | جزئیات |
---|---|---|
mockId | String | شناسه یک شبیهسازی |
restore اختیاری | boolean | روی true تنظیم کنید اگر شبیهسازی نیز باید بازیابی شود. |
respondMock
اگر شبیهسازی با منبع خاصی مطابقت داشته باشد، پاسخ میدهد.
دستور ساس لبز. جزئیات بیشتر را میتوانید در مستندات رسمی پروتکل بیابید.
استفاده
browser.respondMock(mockId, payload)
پارامترها
نام | نوع | جزئیات |
---|---|---|
mockId | String | شناسه یک شبیهسازی |
payload اختیاری | object | اطلاعات مربوط به پاسخ شبیهسازی شده. |