newWindow
Öffnet ein neues Fenster oder einen neuen Tab im Browser (standardmäßig ein neues Fenster, falls nicht anders angegeben).
Dieser Befehl ist die äquivalente Funktion zu window.open()
. Dieser Befehl funktioniert nicht in mobilen Umgebungen.
Hinweis: Beim Aufrufen dieses Befehls wechseln Sie automatisch zum neuen Fenster oder Tab.
Verwendung
browser.newWindow(url, { type, windowName, windowFeatures })
Parameter
Name | Typ | Details |
---|---|---|
url | string | Website-URL zum Öffnen |
options optional | NewWindowOptions | newWindow Befehlsoptionen |
options.type optional | string | Typ des neuen Fensters: 'tab' oder 'window' |
options.windowName optional | String | Name des neuen Fensters |
options.windowFeatures optional | String | Eigenschaften des geöffneten Fensters (z.B. Größe, Position, Scrollbars, usw.) |
Beispiele
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"
});
Gibt zurück
- <Object>
return
: Ein Objekt, das den Fensterhandle und den Typ des neuen Fensters enthält{handle: string, type: string}
handle - Die ID des Fensterhandles des neuen Tabs oder Fensters, type - Der Typ des neuen Fensters, entweder 'tab' oder 'window'
Wirft
- Error: Wenn
url
ungültig ist, wenn der Befehl auf einem Mobilgerät verwendet wird odertype
weder 'tab' noch 'window' ist.