L'Oggetto Clock
Puoi modificare l'orologio di sistema del browser utilizzando il comando emulate
. Esso sovrascrive le funzioni globali native relative al tempo permettendo di controllarle in modo sincrono tramite clock.tick()
o l'oggetto clock generato. Questo include il controllo di:
setTimeout
clearTimeout
setInterval
clearInterval
Date Objects
L'orologio inizia dall'epoca unix (timestamp 0). Ciò significa che quando istanzi un nuovo oggetto Date nella tua applicazione, avrà come orario il 1° gennaio 1970 se non passi altre opzioni al comando emulate
.
Esempio
Quando chiami browser.emulate('clock', { ... })
sovrascriverà immediatamente le funzioni globali per la pagina corrente e per tutte le pagine successive, ad esempio:
const clock = await browser.emulate('clock', { now: new Date(1989, 7, 4) })
console.log(await browser.execute(() => (new Date()).toString()))
// returns "Fri Aug 04 1989 00:00:00 GMT-0700 (Pacific Daylight Time)"
await browser.url('https://webdriverio')
console.log(await browser.execute(() => (new Date()).toString()))
// returns "Fri Aug 04 1989 00:00:00 GMT-0700 (Pacific Daylight Time)"
await clock.restore()
console.log(await browser.execute(() => (new Date()).toString()))
// returns "Thu Aug 01 2024 17:59:59 GMT-0700 (Pacific Daylight Time)"
await browser.url('http://guinea-pig.webdriver.io/pointer.html')
console.log(await browser.execute(() => (new Date()).toString()))
// returns "Thu Aug 01 2024 17:59:59 GMT-0700 (Pacific Daylight Time)"
Puoi modificare l'orario di sistema chiamando setSystemTime
o tick
.