نافذة جديدة
فتح نافذة أو علامة تبويب جديدة في المتصفح (يفتح نافذة جديدة افتراضيًا إذا لم يتم تحديد نوع آخر).
هذا الأمر هو المعادل لوظيفة 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'.