Aller au contenu principal

respond

Répond toujours avec la même réécriture.

Utilisation
mock.respond(overwrites, { header, statusCode, fetchResponse })
Paramètres
NomTypeDétails
overwritesMockOverwritecharge utile pour réécrire la réponse
params
optionnel
MockResponseParamsparamètres de réponse supplémentaires à réécrire
params.header
optionnel
Objectréécrire des en-têtes spécifiques
params.statusCode
optionnel
Numberréécrire le code d'état de la réponse
params.fetchResponse
optionnel
Booleanrécupérer la réponse réelle avant de répondre avec des données simulées
Exemple
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