UNPKG

webdriverio

Version:

Next-gen browser and mobile automation test framework for Node.js

56 lines (51 loc) 2.3 kB
export {}; /** * Only respond once with given overwrite. You can call `respondOnce` multiple * consecutive times and it will start with the respond you defined last. If you * only use `respondOnce` and the resource is called more times a mock has been * defined than it defaults back to the original resource. * * <example> :respondOnce.js async function getToDos () { await $('#todo-list li').waitForExist() return $$('#todo-list li').map(el => el.getText()) } it('should demonstrate the respondOnce command', async () => { const mock = await browser.mock('https://todo-backend-express-knex.herokuapp.com/', { method: 'get' }) mock.respondOnce([{ title: '3' }, { title: '2' }, { title: '1' }]) mock.respondOnce([{ title: '2' }, { title: '1' }]) mock.respondOnce([{ title: '1' }]) await browser.url('https://todobackend.com/client/index.html?https://todo-backend-express-knex.herokuapp.com/') console.log(await getToDos()) // outputs [ '3', '2', '1' ] await browser.url('https://todobackend.com/client/index.html?https://todo-backend-express-knex.herokuapp.com/') console.log(await getToDos()) // outputs [ '2', '1' ] await browser.url('https://todobackend.com/client/index.html?https://todo-backend-express-knex.herokuapp.com/') console.log(await getToDos()) // outputs [ '1' ] await browser.url('https://todobackend.com/client/index.html?https://todo-backend-express-knex.herokuapp.com/') console.log(await getToDos()) // outputs actual resource response }) * </example> * * @alias mock.respondOnce * @param {MockOverwrite} overwrites payload to overwrite the response * @param {MockResponseParams=} params additional respond parameters to overwrite * @param {Object=} params.header overwrite specific headers * @param {Number=} params.statusCode overwrite response status code * @param {Boolean=} params.fetchResponse fetch real response before responding with mocked data */ //# sourceMappingURL=respondOnce.d.ts.map