內容簡介
本書以分享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的ignorecertificateerrors提示及禁用擴展外掛程式並實現
視窗最大化
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瀏覽器的cant access dead object異常
16.5常見異常和解決方法