Перейти до основного вмісту

відповідати

Завжди відповідати з однаковим перезаписом.

Використання
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