reloadSession
使用您当前的功能创建一个新的 Selenium 会话。如果您测试的是高度有状态的应用程序,并且需要在规范文件中的测试之间清理浏览器会话以避免创建数百个带有 WDIO 的单个测试文件,这将非常有用。但请注意,此命令会极大地影响您的测试时间,因为生成新的 Selenium 会话非常耗时,尤其是在使用云服务时。
当您想要连接到不同的远程服务时,可以在 browserName 旁边添加主机名、端口、协议等连接参数。例如,在您在原生应用中启动测试并需要验证 Web 应用中的数据的情况下,这将非常有用。
如果您从远程服务开始,则可以将 0.0.0.0 作为主机名传递,如果您想切换到本地驱动程序。
用法
browser.reloadSession(newCapabilities)
参数
名称 | 类型 | 详情 |
---|---|---|
newCapabilities | 用于创建会话的新功能 |
示例
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
})