reloadSession
Crea una nuova sessione Selenium con le tue capacità attuali. Questo è utile se testi applicazioni con alto livello di stato dove hai bisogno di pulire la sessione del browser tra i test nel tuo file spec per evitare di creare centinaia di singoli file di test con WDIO. Fai attenzione però, questo comando influisce enormemente sul tempo di test poiché generare nuove sessioni Selenium richiede molto tempo, specialmente quando si utilizzano servizi cloud.
Parametri di connessione come hostname, porta, protocollo, ecc. possono essere aggiunti insieme a browserName quando vuoi connetterti a un servizio remoto diverso. Questo è utile in una situazione, ad esempio, dove inizi un test in un'app nativa e hai bisogno di verificare dati nell'app web.
Se inizi da un servizio remoto, puoi passare 0.0.0.0 come hostname se vuoi passare a driver locali.
Utilizzo
browser.reloadSession(newCapabilities)
Parametri
Nome | Tipo | Dettagli |
---|---|---|
newCapabilities opzionale | WebdriverIO.Capabilities | nuove capacità con cui creare una sessione |
Esempio
it('should reload my session with current capabilities', async () => {
console.log(browser.sessionId) // outputs: e042b3f3cd5a479da4e171825e96e655
await browser.reloadSession()
console.log(browser.sessionId) // outputs: 9a0d9bf9d4864160aa982c50cf18a573
})
it('should reload my session with new capabilities', async () => {
console.log(browser.capabilities.browserName) // outputs: chrome
await browser.reloadSession({
browserName: 'firefox'
})
console.log(browser.capabilities.browserName) // outputs: firefox
})
it('should reload my session with new remote', async () => {
console.log(browser.capabilities.browserName) // outputs: chrome
await browser.reloadSession({
protocol: 'https',
host: '0.0.0.1',
port: 4444,
path: '/wd/hub',
browserName: 'firefox'
})
console.log(browser.capabilities.browserName) // outputs: firefox
})