انتقل إلى المحتوى الرئيسي

صوص لابز

جميع الأوامر مدعومة فقط على متصفح Chrome باستخدام إمكانيات Extended Debugging من Sauce Labs. يمكنك تمكين هذه الميزات عن طريق تعيين خيارات Sauce التالية:

{
browserName: 'Chrome',
browserVersion: 'latest',
platformName: 'Windows 10',
'sauce:options': {
extendedDebugging: true
}
}

getPageLogs

الحصول على معلومات سجل محددة لصفحة الويب بناءً على آخر تحميل للصفحة.

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.getPageLogs(type)
المعاملات
الاسمالنوعالتفاصيل
typestringنوع السجل (مثل '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).

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.sauceThrottleNetwork(condition)
المعاملات
الاسمالنوعالتفاصيل
conditionstring, 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 لفهم كيفية أداء صفحتك تحت هذا القيد.

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.throttleCPU(rate)
المعاملات
الاسمالنوعالتفاصيل
ratenumberمعدل تقييد وحدة المعالجة المركزية.
أمثلة
// throttle CPU and make it run 4x slower
browser.throttleCPU(4)
// reset CPU throttling
browser.throttleCPU(0)

interceptRequest

يسمح بتعديل أي طلب يتم إجراؤه بواسطة المتصفح. يمكنك حظر أو تعديل أو إعادة توجيه هذه الطلبات حسب المطلوب لاختباراتك.

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.interceptRequest(rule)
المعاملات
الاسمالنوعالتفاصيل
ruleobjectقاعدة تصف اعتراض الطلب.
أمثلة
// 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

التحقق من الأداء مقابل خط الأساس لتطبيقك.

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.assertPerformance(name, metrics)
المعاملات
الاسمالنوعالتفاصيل
namestringاسم المهمة التي أنشأت خط الأساس الخاص بك.
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

إجراء اختبار التمرير الذي يقيم مدى تقطع التطبيق.

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.jankinessCheck()
مثال
// test performance for a page
browser.url('https://webdriver.io')
browser.jankinessCheck()
القيمة المرجعة
  • <object> testResults: كائن يحتوي على النتيجة وكذلك مقاييس حول مدى سلاسة تجربة المستخدم للصفحة أثناء الاختبار.

mockRequest

يحاكي مورد شبكة.

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.mockRequest(url, filterOptions)
المعاملات
الاسمالنوعالتفاصيل
urlstringنمط عنوان URL لمطابقة عنوان URL المراد محاكاته.
filterOptions
اختياري
objectخيارات تصفية إضافية لعنوان URL المراد محاكاته (مثل الرؤوس، الطريقة).
القيمة المرجعة
  • <object> mockId: كائن يحتوي على معرف المورد المحاكى.

getMockCalls

استلام معلومات الطلب حول الطلبات التي تتطابق مع المورد المحاكى.

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.getMockCalls(mockId)
المعاملات
الاسمالنوعالتفاصيل
mockIdStringمعرف المحاكاة
القيمة المرجعة
  • <object> requests: قائمة بمعلومات الطلب.

clearMockCalls

مسح قائمة مكالمات المحاكاة.

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.clearMockCalls(mockId, restore)
المعاملات
الاسمالنوعالتفاصيل
mockIdStringمعرف المحاكاة
restore
اختياري
booleanاضبط على true إذا كان يجب استعادة المحاكاة أيضًا.

respondMock

الاستجابة إذا تطابقت المحاكاة مع مورد محدد.

أمر Sauce Labs. يمكن العثور على مزيد من التفاصيل في وثائق البروتوكول الرسمية.

الاستخدام
browser.respondMock(mockId, payload)
المعاملات
الاسمالنوعالتفاصيل
mockIdStringمعرف المحاكاة
payload
اختياري
objectمعلومات عن استجابة المحاكاة.

Welcome! How can I help?

WebdriverIO AI Copilot