Vai al contenuto principale

respond

Rispondi sempre con la stessa sovrascrittura.

Utilizzo
mock.respond(overwrites, { header, statusCode, fetchResponse })
Parametri
NomeTipoDettagli
overwritesMockOverwritepayload per sovrascrivere la risposta
params
opzionale
MockResponseParamsparametri di risposta aggiuntivi da sovrascrivere
params.header
opzionale
Objectsovrascrive header specifici
params.statusCode
opzionale
Numbersovrascrive il codice di stato della risposta
params.fetchResponse
opzionale
Booleanrecupera la risposta reale prima di rispondere con i dati simulati
Esempio
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