nuevaVentana
Abrir una nueva ventana o pestaña en el navegador (por defecto abre una nueva ventana si no se especifica).
Este comando es la función equivalente a window.open()
. Este comando no funciona en entornos móviles.
Nota: Al llamar a este comando cambias automáticamente a la nueva ventana o pestaña.
Uso
browser.newWindow(url, { type, windowName, windowFeatures })
Parámetros
Nombre | Tipo | Detalles |
---|---|---|
url | string | URL del sitio web para abrir |
options opcional | NewWindowOptions | opciones del comando newWindow |
options.type opcional | string | tipo de nueva ventana: 'tab' o 'window' |
options.windowName opcional | String | nombre de la nueva ventana |
options.windowFeatures opcional | String | características de la ventana abierta (p. ej. tamaño, posición, barras de desplazamiento, etc.) |
Ejemplos
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"
});
Devuelve
- <Object>
return
: Un objeto que contiene el identificador de la ventana y el tipo de nueva ventana{handle: string, type: string}
handle - El ID del identificador de ventana de la nueva pestaña o ventana, type - El tipo de la nueva ventana, ya sea 'tab' o 'window'
Lanza
- Error: Si
url
es inválida, si el comando se usa en móvil, o sitype
no es 'tab' o 'window'.