نافذة جديدة
فتح نافذة أو علامة تبويب جديدة في المتصفح (يفتح نافذة جديدة افتراضيًا إذا لم يتم تحديد نوع آخر).
هذا الأمر هو المعادل لوظيفة window.open()
. هذا الأمر لا يعمل في بيئات الجوال.
ملاحظة: عند استدعاء هذا الأمر، سيتم الانتقال تلقائيًا إلى النافذة أو علامة التبويب الجديدة.
الاستخدام
browser.newWindow(url, { type, windowName, windowFeatures })
المعلمات
الاسم | النوع | التفاصيل |
---|---|---|
url | string | عنوان URL للموقع المراد فتحه |
options اختياري | NewWindowOptions | خيارات أمر نافذة جديدة |
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'.