
- WebdriverIO 教程
- WebdriverIO - 首頁
- WebdriverIO - 簡介
- WebdriverIO - 預備條件
- WebdriverIO - 架構
- WebdriverIO - 使用 NodeJS 入門
- WebdriverIO - NPM 安裝
- WebdriverIO - VS Code 安裝
- WebdriverIO - package.json
- WebdriverIO - Mocha 安裝
- Selenium 獨立伺服器安裝
- WebdriverIO - 配置檔案生成
- WebdriverIO - VS Code 智慧提示
- WebdriverIO - wdio.conf.js 檔案
- WebdriverIO - XPath 定位器
- WebdriverIO - CSS 定位器
- WebdriverIO - 連結文字定位器
- WebdriverIO - ID 定位器
- WebdriverIO - 標籤名定位器
- WebdriverIO - 類名定位器
- WebdriverIO - 名稱定位器
- 斷言的 Expect 語句
- WebdriverIO - 正常流程
- WebdriverIO - 常用瀏覽器命令
- WebdriverIO - 處理瀏覽器大小
- WebdriverIO - 瀏覽器導航命令
- 處理複選框和下拉選單
- WebdriverIO - 滑鼠操作
- 處理子視窗/彈出視窗
- WebdriverIO - 隱藏元素
- WebdriverIO - 框架
- WebdriverIO - 拖放
- WebdriverIO - 雙擊
- WebdriverIO - Cookie
- WebdriverIO - 處理單選按鈕
- Web元素上的 Chai 斷言
- WebdriverIO - 多視窗/標籤頁
- WebdriverIO - 滾動操作
- WebdriverIO - 警報
- WebdriverIO - 除錯程式碼
- WebdriverIO - 捕獲螢幕截圖
- WebdriverIO - JavaScript 執行器
- WebdriverIO - 等待
- WebdriverIO - 並行執行測試
- WebdriverIO - 資料驅動測試
- 從命令列引數執行測試
- 使用 Mocha 選項執行測試
- 從 Allure 生成 HTML 報告
- WebdriverIO 有用資源
- WebdriverIO - 快速指南
- WebdriverIO - 有用資源
- WebdriverIO - 討論
WebdriverIO - 多視窗/標籤頁
點選連結或按鈕可能會開啟多個視窗/標籤頁。WebdriverIO 預設情況下只控制主瀏覽器,為了訪問其他標籤頁的元素,需要將 WebdriverIO 的控制權從主瀏覽器視窗切換到已開啟的標籤頁。
多視窗方法
處理多個視窗或標籤頁的一些方法如下:
browser.getWindowHandles()
此方法以列表的形式返回所有當前開啟的瀏覽器視窗的視窗控制代碼 ID。如果打開了兩個視窗,列表的零索引包含父視窗的控制代碼 ID,而第一個索引指向標籤頁的視窗控制代碼。
語法
語法如下:
var x = browser.getWindowHandles()
browser.getWindowHandle()
此方法返回當前焦點瀏覽器視窗的視窗控制代碼 ID。
語法如下:
let l = browser.getWindowHandle()
browser.switchToWindow('window handle id')
此方法用於將焦點從當前焦點瀏覽器視窗切換到另一個開啟的瀏覽器視窗,其視窗控制代碼 ID 作為引數傳遞給此方法。
語法
語法如下:
browser.switchToWindow(x)
在下圖中,點選“點選此處”連結會開啟一個新標籤頁,瀏覽器標題為“新視窗”。讓我們切換到新標籤頁並訪問其中的元素。

首先,請按照標題為“使用 WebdriverIO 的正常流程”章節中的步驟 1 到步驟 5 操作,步驟如下:
步驟 1 - 安裝 NodeJS。有關如何執行此安裝的詳細資訊,請參閱標題為“使用 NodeJS 入門”的章節。
步驟 2 - 安裝 NPM。有關如何執行此安裝的詳細資訊,請參閱標題為“NPM 安裝”的章節。
步驟 3 - 安裝 VS Code。有關如何執行此安裝的詳細資訊,請參閱標題為“VS Code 安裝”的章節。
步驟 4 - 建立配置檔案。有關如何執行此安裝的詳細資訊,請參閱標題為“配置檔案生成”的章節。
步驟 5 - 建立一個規範檔案。有關如何執行此安裝的詳細資訊,請參閱標題為“Mocha 安裝”的章節。
步驟 6 - 將以下程式碼新增到建立的 Mocha 規範檔案中。
// test suite name describe('Tutorialspoint application', function(){ //test case it('Tab windows', function(){ // launch url browser.url('https://the-internet.herokuapp.com/windows') //identify element then click $('=Click Here').click() //get all window handle ids in list let w = browser.getWindowHandles() //switch to tab browser.switchToWindow(w[1]) //get page title of tab console.log(browser.getTitle() + ' - Page title of tab') //close child window browser.closeWindow() //switch to parent window browser.switchToWindow(w[0]) //get page title of parent console.log(browser.getTitle() + ' - Page title of parent window') }); });
使用以下命令執行配置檔案 - wdio.conf.js 檔案:
npx wdio run wdio.conf.js
有關如何建立配置檔案的詳細資訊,請參閱標題為“wdio.conf.js 檔案”和“配置檔案生成”的章節。
您的計算機上將顯示以下螢幕:

命令成功執行後,標籤視窗 - “新視窗”的頁面標題將列印到控制檯。然後,父視窗 - “網際網路”的頁面標題將列印到控制檯。