跳至主要內容

reloadSession

使用您目前的 capabilities 建立新的 Selenium 會話。如果您測試高度狀態化的應用程式,需要在規格檔案中的測試之間清除瀏覽器會話,以避免使用 WDIO 建立數百個單一測試檔案,這非常有用。但是請小心,此命令會極大地影響您的測試時間,因為產生新的 Selenium 會話非常耗時,尤其是在使用雲端服務時。

當您想要連接到不同的遠端服務時,可以在 browserName 旁邊新增連線參數,例如主機名稱、埠、協定等。這在例如您在原生應用程式中開始測試並需要驗證網頁應用程式中的資料時非常有用。

如果您從遠端服務啟動,如果您想要切換到本機驅動程式,則可以傳入 0.0.0.0 作為主機名稱。

用法
browser.reloadSession(newCapabilities)
參數
名稱類型詳細資訊
newCapabilities用於建立會話的新 capabilities
範例
reloadSync.js
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
})

歡迎!我能如何幫你?

WebdriverIO AI Copilot