پنجره جدید
باز کردن پنجره یا تب جدید در مرورگر (اگر مشخص نشده باشد، به طور پیشفرض یک پنجره جدید باز میشود).
این دستور معادل تابع window.open()
است. این دستور در محیطهای موبایل کار نمیکند.
نکته: هنگام فراخوانی این دستور، به طور خودکار به پنجره یا تب جدید منتقل میشوید.
استفاده
browser.newWindow(url, { type, windowName, windowFeatures })
پارامترها
نام | نوع | جزئیات |
---|---|---|
url | string | آدرس وبسایتی که باید باز شود |
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 - شناسهی پنجره تب یا پنجره جدید، type - نوع پنجره جدید، که میتواند 'tab' یا 'window' باشد
خطاها
- Error: اگر
url
نامعتبر باشد، اگر فرمان روی موبایل استفاده شود، یاtype
'tab' یا 'window' نباشد.