Lupa API Reference / commands / Emulation
Class: Emulation
Defined in: src/commands/emulation.ts:45
Class to emulate different environment features like viewport size, media, geolocation, permissions, and offline mode.
Use
when
- Overriding device settings dynamically during a test (e.g. testing responsive layout breakpoint transitions, dark mode switching, geolocation updates, or offline network behaviors).
Dont
use when
- Setting static configuration options that are best configured via the main Lupa config file.
Constructors
Constructor
new Emulation():
Emulation
Returns
Emulation
Methods
clearPermissions()
clearPermissions():
Promise<void>
Defined in: src/commands/emulation.ts:112
Clears all permissions granted dynamically.
Returns
Promise<void>
Example
import { emulation } from '@pawel-up/lupa/commands'
await emulation.clearPermissions()emulateMedia()
emulateMedia(
media):Promise<void>
Defined in: src/commands/emulation.ts:70
Emulates media features.
Parameters
media
Returns
Promise<void>
Example
import { emulation } from '@pawel-up/lupa/commands'
await emulation.emulateMedia({ colorScheme: 'dark' })grantPermissions()
grantPermissions(
permissions,options?):Promise<void>
Defined in: src/commands/emulation.ts:98
Grants permissions to the browser context dynamically.
Parameters
permissions
string[]
options?
Returns
Promise<void>
Example
import { emulation } from '@pawel-up/lupa/commands'
await emulation.grantPermissions(['geolocation'])setGeolocation()
setGeolocation(
geolocation?):Promise<void>
Defined in: src/commands/emulation.ts:84
Sets the geolocation for the browser context dynamically.
Parameters
geolocation?
Returns
Promise<void>
Example
import { emulation } from '@pawel-up/lupa/commands'
await emulation.setGeolocation({ latitude: 48.8584, longitude: 2.2944 })setOffline()
setOffline(
offline):Promise<void>
Defined in: src/commands/emulation.ts:131
Toggles the offline state of the browser context.
IMPORTANT
Persistence Notice: Unlike network.setOffline(...), this method changes the global context state. The context will remain offline until it is explicitly set back to online (i.e. it does not automatically revert at the end of the test).
Parameters
offline
boolean
Returns
Promise<void>
Example
import { emulation } from '@pawel-up/lupa/commands'
await emulation.setOffline(true)setViewport()
setViewport(
viewport):Promise<void>
Defined in: src/commands/emulation.ts:56
Changes the size of the viewport.
Parameters
viewport
Returns
Promise<void>
Example
import { emulation } from '@pawel-up/lupa/commands'
await emulation.setViewport({ width: 375, height: 667 })