Saltar al contenido principal

respond

Siempre responder con la misma sobrescritura.

Uso
mock.respond(overwrites, { header, statusCode, fetchResponse })
Parámetros
NombreTipoDetalles
overwritesMockOverwritecarga útil para sobrescribir la respuesta
params
opcional
MockResponseParamsparámetros de respuesta adicionales para sobrescribir
params.header
opcional
Objectsobrescribir encabezados específicos
params.statusCode
opcional
Numbersobrescribir el código de estado de respuesta
params.fetchResponse
opcional
Booleanobtener respuesta real antes de responder con datos simulados
Ejemplo
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