Перейти к основному содержимому

newWindow

Открыть новое окно или вкладку в браузере (по умолчанию открывается новое окно, если не указано иное). Эта команда является эквивалентом функции window.open(). Эта команда не работает в мобильных средах.

Примечание: При вызове этой команды вы автоматически переключаетесь на новое окно или вкладку.

Использование
browser.newWindow(url, { type, windowName, windowFeatures })
Параметры
ИмяТипОписание
urlstringURL-адрес сайта для открытия
options
необязательно
NewWindowOptionsпараметры команды newWindow
options.type
необязательно
stringтип нового окна: 'tab' или 'window'
options.windowName
необязательно
Stringимя нового окна
options.windowFeatures
необязательно
Stringособенности открытого окна (например, размер, положение, полосы прокрутки и т.д.)
Примеры
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://webdriver.io', {
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://webdriver.io', {
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"
});
Возвращает
  • <Object> return: Объект, содержащий дескриптор окна и тип нового окна {handle: string, type: string} handle - ID дескриптора окна новой вкладки или окна, type - Тип нового окна, либо 'tab', либо 'window'
Выбрасывает
  • Error: Если url недействителен, если команда используется на мобильном устройстве или type не является 'tab' или 'window'.

Welcome! How can I help?

WebdriverIO AI Copilot