Hoppa till huvudinnehåll

respond

Svara alltid med samma överskrivning.

Användning
mock.respond(overwrites, { header, statusCode, fetchResponse })
Parametrar
NamnTypDetaljer
overwritesMockOverwritedata för att skriva över svaret
params
valfri
MockResponseParamsytterligare svarsparametrar att skriva över
params.header
valfri
Objectskriv över specifika rubriker
params.statusCode
valfri
Numberskriv över svarets statuskod
params.fetchResponse
valfri
Booleanhämta verkligt svar innan svar med simulerad data
Exempel
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