Przejdź do głównej treści

newWindow

Otwórz nowe okno lub zakładkę w przeglądarce (domyślnie nowe okno, jeśli nie określono inaczej). Ta komenda jest równoważna funkcji window.open(). Ta komenda nie działa w środowiskach mobilnych.

Uwaga: Po wywołaniu tej komendy automatycznie przełączasz się na nowe okno lub zakładkę.

Użycie
browser.newWindow(url, { type, windowName, windowFeatures })
Parametry
NazwaTypSzczegóły
urlstringadres URL strony do otwarcia
options
opcjonalny
NewWindowOptionsopcje komendy newWindow
options.type
opcjonalny
stringtyp nowego okna: 'tab' lub 'window'
options.windowName
opcjonalny
Stringnazwa nowego okna
options.windowFeatures
opcjonalny
Stringwłaściwości otwartego okna (np. rozmiar, pozycja, paski przewijania itp.)
Przykłady
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"
});
Zwraca
  • <Object> return: Obiekt zawierający uchwyt okna i typ nowego okna {handle: string, type: string} handle - ID uchwytu okna nowej zakładki lub okna, type - Typ nowego okna, 'tab' lub 'window'
Rzuca
  • Error: Jeśli url jest nieprawidłowy, jeśli komenda jest używana na urządzeniu mobilnym lub type nie jest 'tab' lub 'window'.

Welcome! How can I help?

WebdriverIO AI Copilot