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 |
optionsoptional | NewWindowOptions | newWindow Befehlsoptionen |
options.typeoptional | string | Typ des neuen Fensters: 'tab' oder 'window' |
options.windowNameoptional | String | Name des neuen Fensters |
options.windowFeaturesoptional | 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
urlungültig ist, wenn der Befehl auf einem Mobilgerät verwendet wird odertypeweder 'tab' noch 'window' ist.