跳至主要内容

newWindow

在浏览器中打开新窗口或标签页(如果未指定,则默认为新窗口)。此命令等效于window.open()函数。此命令在移动环境中不起作用。

注意:调用此命令时,您将自动切换到新窗口或标签页。

用法
browser.newWindow(url, { type, windowName, windowFeatures })
参数
名称类型详情
url字符串要打开的网站 URL
选项
可选
NewWindowOptionsnewWindow 命令选项
options.type
可选
字符串新窗口的类型:“tab” 或 “window”
options.windowName
可选
字符串新窗口的名称
options.windowFeatures
可选
字符串已打开窗口的功能(例如大小、位置、滚动条等)
示例
newWindowSync.js
it('should open a new window', async () => {
await browser.url('https://google.com')
console.log(await browser.getTitle()) // outputs: "Google"

const result = await browser.newWindow('https://webdriverio.node.org.cn', {
windowName: 'WebdriverIO window',
windowFeature: 'width=420,height=230,resizable,scrollbars=yes,status=1',
})
console.log(await browser.getTitle()) // outputs: "WebdriverIO · Next-gen browser and mobile automation test framework for Node.js"
console.log(result.type) // outputs: "window"
const handles = await browser.getWindowHandles()
await browser.switchToWindow(handles[1])
await browser.closeWindow()
await browser.switchToWindow(handles[0])
console.log(await browser.getTitle()) // outputs: "Google"
});

newTabSync.js
  it('should open a new tab', async () => {
await browser.url('https://google.com')
console.log(await browser.getTitle()) // outputs: "Google"

await browser.newWindow('https://webdriverio.node.org.cn', {
type:'tab',
windowName: 'WebdriverIO window',
windowFeature: 'width=420,height=230,resizable,scrollbars=yes,status=1',
})
console.log(await browser.getTitle()) // outputs: "WebdriverIO · Next-gen browser and mobile automation test framework for Node.js"
console.log(result.type) // outputs: "tab"
const handles = await browser.getWindowHandles()
await browser.switchToWindow(handles[1])
await browser.closeWindow()
await browser.switchToWindow(handles[0])
console.log(await browser.getTitle()) // outputs: "Google"
});
抛出
  • 抛出:如果url无效,如果在移动设备上使用该命令,或者type不是“tab”或“window”。

欢迎!我如何帮助您?

WebdriverIO AI Copilot