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

استجابة

استجب دائمًا بنفس التعديل.

الاستخدام
mock.respond(overwrites, { header, statusCode, fetchResponse })
المعلمات
الاسمالنوعالتفاصيل
overwritesMockOverwriteالبيانات المراد تعديل الاستجابة بها
params
اختياري
MockResponseParamsمعلمات استجابة إضافية للتعديل
params.header
اختياري
Objectتعديل ترويسات محددة
params.statusCode
اختياري
Numberتعديل رمز حالة الاستجابة
params.fetchResponse
اختياري
Booleanجلب الاستجابة الحقيقية قبل الرد بالبيانات المزيفة
مثال
respond.js
it('should demonstrate response overwrite with static data', async () => {
const mock = await browser.mock('https://todo-backend-express-knex.herokuapp.com/', {
method: 'get'
})

mock.respond([{
title: 'Injected (non) completed Todo',
order: null,
completed: false
}, {
title: 'Injected completed Todo',
order: null,
completed: true
}], {
statusCode: 200,
fetchResponse: true // default
})

await browser.url('https://todobackend.com/client/index.html?https://todo-backend-express-knex.herokuapp.com/')

await $('#todo-list li').waitForExist()
console.log(await $$('#todo-list li').map(el => el.getText()))
// outputs: "[ 'Injected (non) completed Todo', 'Injected completed Todo' ]"
})

it('should demonstrate response overwrite with dynamic data', async () => {
const mock = await browser.mock('https://todo-backend-express-knex.herokuapp.com/')

mock.respond((request) => {
if (request.body.username === 'test') {
return { ...request.body, foo: 'bar' }
}
return request.body
}, {
statusCode: () => 200,
headers: () => ({ foo: 'bar }),
fetchResponse: false // do not fetch real response
})
})

Welcome! How can I help?

WebdriverIO AI Copilot