Selenium WebDriver 3.0 自動化測試框架實戰指南

內容簡介

本書以分享Selenium WebDriver實戰經驗為要,致力於為Tester講解開源的Web自動化測試工具的原理、api接口實例、unittest、五大框架實戰(行為驅動、分散式測試框架、數據驅動測試框架、關鍵字驅動測試框架、混合模式測試框架)以及自動化測試中常見的問題處理。

目錄

目錄

第一篇基礎篇

第1章Selenium簡介

1.1Selenium的前世今生

1.2Selenium工具套件介紹

1.3Selenium支持的瀏覽器和平台

1.3.1SeleniumIDE、Selenium1和SeleniumRC支持的瀏覽器和平台

1.3.2Selenium2(WebDriver)支持的瀏覽器

1.4SeleniumRC和WebDriver的實現原理

1.4.1SeleniumRC的實現原理

1.4.2WebDriver的實現原理

1.4.3Selenium1.0和WebDriver的特點

1.5Selenium3的新特性

第2章自動化測試那點事兒

2.1自動化測試目標

2.2管理層的支持

2.3投入產出比

2.4敏捷開發中的自動化測試套用

2.5自動化測試人員分工

2.6自動化測試工具的選擇和推廣使用

2.6.1自動化測試工具的選擇

2.6.2SeleniumWebDriver和QTP工具的特點比較

2.7在項目中實施自動化的最佳實踐

2.8學習Selenium工具的能力要求

第3章自動化測試輔助工具

3.1安裝Firefox瀏覽器

3.2安裝Firebug外掛程式

3.3Firebug外掛程式的使用

3.3.1啟動Firebug外掛程式

3.3.2Firebug外掛程式的常用功能

3.4安裝FirePath外掛程式

3.5FirePath外掛程式的使用

3.5.1FirePath外掛程式中使用XPath定位方式

3.5.2FirePath外掛程式中使用CSS定位方式

3.6IE瀏覽器自帶的輔助開發工具

第4章SeleniumIDE

4.1SeleniumIDE的定義

4.2安裝SeleniumIDE

4.2.1從Selenium官網安裝

4.2.2使用離線XPI安裝檔案安裝

4.3SeleniumIDE外掛程式界面和功能介紹

4.3.1主界面

4.3.2常用工具列

4.3.3腳本編輯區域

4.4常用選單項

4.4.1“檔案”選單

4.4.2“編輯”選單

4.4.3Actions選單

4.4.4Option選單

4.5錄製和回放腳本實例

4.6SeleniumIDE腳本介紹——Selenese

4.7SeleniumIDE的基本命令使用實例

4.7.1waitForText、verifyText和assertText命令

4.7.2storeTitle命令和echo命令

4.7.3openWindow命令和selectWindow命令

4.8從SeleniumIDE導出腳本

4.8.1導出腳本檔案

4.8.2將SeleniumIDE外掛程式中的某行命令導出為Python腳本

第5章搭建Python環境和PyCharm集成開發環境

5.1安裝Python並配置Python環境

5.1.1下載並安裝Python解釋器

5.1.2配置Python環境

5.1.3安裝pip

5.2安裝Python集成開發環境PyCharm

5.3新建一個Python工程

第6章Selenium3(WebDriver)的安裝

6.1在Python中安裝WebDriver

6.2第一個WebDriver腳本

6.3各瀏覽器驅動的使用方法

第7章單元測試框架的使用介紹

7.1單元測試的定義

7.2unittest單元測試框架

7.2.1unittest的定義

7.2.2unittest框架的4個重要概念

7.2.3單元測試載入方法

7.2.4測試用例

7.2.5測試集合

7.2.6按照特定順序執行測試用例

7.2.7忽略某個測試方法

7.2.8命令行模式執行測試用例

7.2.9批量執行測試模組

7.2.10常用的斷言方法

7.2.11使用HTMLTestRunner生成HTML測試報告

7.3在unittest中運行第一個WebDriver測試用例

第8章頁面元素定位方法

8.1定位頁面元素方法匯總

8.2使用ID定位

8.3使用name定位

8.4使用連結的全部文字定位

8.5使用部分連結文字定位

8.6使用HTML標籤名定位

8.7使用Class名稱定位

8.8使用XPath定位

8.8.1XPath的定義

8.8.2XPath節點

8.8.3XPath定位語法

8.8.4XPath運算符

8.9CSS定位

8.9.1CSS的概念

8.9.2CSS定位語法

8.9.3XPath定位與CSS定位的比較

8.10表格的定位

8.10.1遍歷表格所有的單元格

8.10.2定位表格中的某個元素

8.10.3定位表格中的子元素

第二篇實戰套用篇

第9章WebDriver的多瀏覽器測試

9.1使用IE瀏覽器進行測試

9.2使用Firefox瀏覽器進行測試

9.3使用Chrome瀏覽器進行測試

第10章WebDriverAPI詳解

10.1訪問某個網址

10.2網頁的前進和後退

10.3刷新當前網頁

10.4瀏覽器視窗最大化

10.5獲取並設定當前視窗的位置

10.6獲取並設定當前視窗的大小

10.7獲取頁面的Title屬性值

10.8獲取頁面HTML原始碼

10.9獲取當前頁面的URL地址

10.10獲取與切換瀏覽器視窗句柄

10.11獲取頁面元素的基本信息

10.12獲取頁面元素的文本內容

10.13判斷頁面元素是否可見

10.14判斷頁面元素是否可操作

10.15獲取頁面元素的屬性

10.16獲取頁面元素的CSS屬性值

10.17清空輸入框中的內容

10.18在輸入框中輸入指定內容

10.19單擊按鈕

10.20雙擊某個元素

10.21操作單選下拉列表

10.21.1遍歷所有選項並列印選項顯示的文本和選項值

10.21.2選擇下拉列表元素的三種方法

10.22斷言單選列表選項值

10.23操作多選的選擇列表

10.24操作可以輸入的下拉列表(輸入的同時模擬按鍵)

10.25操作單選框

10.26操作複選框

10.27斷言頁面源碼中的關鍵字

10.28對當前瀏覽器視窗截屏

10.29拖拽頁面元素

10.30模擬鍵盤單個按鍵操作

10.31模擬組合按鍵操作

10.31.1通過WebDriver內建的模組模擬組合鍵

10.31.2通過第三方模組模擬組合按鍵

10.31.3通過設定剪貼簿實現複製和貼上

10.32模擬滑鼠右鍵

10.33模擬滑鼠左鍵按下與釋放

10.34保持滑鼠懸停在某個元素上

10.35判斷頁面元素是否存在

10.36隱式等待

10.37顯式等待

10.38顯式等待中期望的場景

10.39使用Title屬性識別和操作新彈出的瀏覽器視窗

10.40通過頁面的關鍵內容識別和操作新瀏覽器視窗

10.41操作Frame中的頁面元素

10.42使用Frame中的HTML源碼內容操作Frame

10.43操作IFrame中的頁面元素

10.44操作JavaScript的Alert彈窗

10.45操作JavaScript的confirm彈窗

10.46操作JavaScript的prompt彈窗

10.47操作瀏覽器的Cookie

10.48指定頁面載入時間

第11章WebDriver高級套用

11.1使用JavaScript操作頁面元素

11.2操作Web頁面的滾動條

11.3在Ajax方式產生的浮動框中,單擊選擇包含某個關鍵字的選項

11.4結束Windows中瀏覽器的進程

11.5更改一個頁面對象的屬性值

11.6無人工干預地自動下載某個檔案

11.7無人工干預地自動上傳附屬檔案

11.7.1使用WebDriver的send_keys方法上傳檔案

11.7.2模擬鍵盤操作,實現上傳檔案

11.7.3使用第三方工具AutoIt上傳檔案

11.8右鍵另外儲存為下載檔案

11.9操作日期控制項

11.10啟動帶有用戶配置信息的Firefox瀏覽器視窗

11.11UI對象庫

11.12操作富文本框

11.13精確比較頁面截圖圖片

11.14高亮顯示正在操作的頁面元素

11.15瀏覽器中新開標籤頁(Tab)

11.16測試過程中發生異常或斷言失敗時進行螢幕截圖

11.17使用日誌模組記錄測試過程中的信息

11.18封裝操作表格的公用類

11.19測試HTML5語言實現的視頻播放器

11.20在HTML5的畫布元素上進行繪畫操作

11.21操作HTML5存儲對象

11.22使用Chrome瀏覽器自動將檔案下載到指定路徑

11.23修改Chrome設定偽裝成手機M站

11.24禁止Chrome的ignorecertificateerrors提示及禁用擴展外掛程式並實現

視窗最大化

11.25禁用Chrome瀏覽器的PDF和Flash外掛程式

11.26禁用IE的保護模式

11.27啟動Firefox的同時打開Firebug

11.28禁用Chrome瀏覽器中的Image載入

11.29禁用Firefox瀏覽器中的CSS、Flash及Image載入

第三篇自動化測試框架搭建篇

第12章數據驅動測試

12.1數據驅動概述

12.2數據驅動單元測試的環境準備

12.3使用unittest和ddt進行數據驅動

12.4使用數據檔案進行數據驅動

12.5使用Excel進行數據驅動測試

12.6使用XML進行數據驅動測試

12.7使用MySQL資料庫進行數據驅動測試

第13章行為驅動測試

13.1行為驅動開發和lettuce簡介

13.2行為驅動測試的環境準備

13.3第一個英文語言行為驅動測試

13.4通過類模式實現英文行為驅動

13.5lettuce框架的步驟數據表格

13.6使用WebDriver進行英文語言的行為數據驅動測試

13.7使用WebDriver進行中文語言的行為數據驅動測試

13.8批量執行行為驅動用例集

13.9解決中文描述的場景輸出到控制台亂碼

第14章Selenium Grid的使用

14.1Selenium Grid簡介

14.2分散式自動化測試環境準備

14.3Selenium Grid的使用方法

14.3.1遠程調用Firefox瀏覽器進行自動化測試

14.3.2遠程調用IE瀏覽器進行自動化測試

14.3.3遠程調用Chrome瀏覽器進行自動化測試

14.3.4同時支持多個瀏覽器進行自動化測試

14.4結合unittest完成分散式自動化測試

14.5實現並發的分散式自動化測試

第15章自動化測試框架的搭建及測試實戰

15.1自動化測試框架

15.2數據驅動框架及實戰

15.3關鍵字驅動框架及實戰

15.4關鍵字&&數據混合驅動框架及實戰

第四篇常見問題和解決方法

第16章自動化測試常見問題和解決方法

16.1如何讓WebDriver支持IE 11

16.2解決“Unexpected error launching Internet Explorer. Browserzoom

level was set to 75%(或其他百分比)”的錯誤

16.3解決某些IE瀏覽器中輸入數字和英文特別慢的問題

16.4解決Firefox瀏覽器的cant access dead object異常

16.5常見異常和解決方法

相關詞條

熱門詞條

聯絡我們