篇基礎篇
第1章Selenium簡介
1.1Selenium的前世今生
1.2Selenium工具套件介紹
1.3Selenium支持的瀏覽器和平臺
1.3.1Selenium IDE、Selenium 1和Selenium RC支持的瀏覽器和平臺
1.3.2Selenium 2(WebDriver)支持的瀏覽器
1.4Selenium RC和WebDriver的實現原理
1.4.1Selenium RC的實現原理
1.4.2WebDriver的實現原理
1.4.3Selenium 1和WebDriver的特點
1.5Selenium 3的新特性
第2章關於自動化測試
2.1自動化測試目標
2.2管理層的支持
2.3投入產出比
2.4敏捷開發中的自動化測試應用
2.5自動化測試人員分工
2.6自動化測試工具的選擇和推廣使用
2.6.1自動化測試工具的選擇
2.6.2Selenium WebDriver 和QTP工具的特點比較
2.7在項目中實施自動化的實踐
2.8學習Selenium工具的能力要求
第3章自動化測試輔助工具
3.1安裝Firefox瀏覽器
3.2安裝Firebug插件
3.2.1打開工具箱
3.2.2定素的HTML代碼
3.3使用定素的Firefox瀏覽器插件
3.3.1安裝Fire素定位插件
3.3.2使用RutoXPath Finder進素定位
3.3.3使用XPath Finder插件進素定位
3.4IE瀏覽器自帶的輔助開發工具
3.5Chrome瀏覽器自帶的輔助開發工具
第4章搭建Python 3環境和PyCharm集成開發環境
4.1安裝和配置Python 3環境
4.1.1下載並安裝Python 3解釋器
4.1.2配置Python 3環境
4.1.3安裝pip
4.2安裝Python集成開發環境PyCharm
4.3新建一個Python工程
第5章Selenium 3(WebDriver)的安裝
5.1在Python中安裝WebDriver
5.2個WebDriver腳本
5.3各瀏覽器驅動的使用方法
第6章pyte測試框架
6測試的定義
6.2pyte測試框架
6.3安裝pytest測試框架
6.4pytest用例編寫規則
6.5pyte測試框架初體驗
6.6如何執行pytest測試用例
6.7setup和teardown函數
6.8失敗重試
6.9控制測試函數運行順序
6.10生成HTML測試報告
6.11通過配置文件配置要執行的測試用例
6.12捕獲異常
6.13標記函數
6.13.1過濾測試函數
6.13.2跳過測試
6.13.3預期失敗
6.13.4參數化
6.13.5超時時間
6.13.6失敗重跑
6.13.7自定義標記
6.14固件
6.14.1作為參數引用
6.14.2作為函數引用
6.14.3設置自動使用fixture
6.14.4設置作用域為function
6.14.5設置作用域為class
6.14.6設置作用域為module
6.14.7設置作用域為session
6.14.8使用fixture返回值
6.14.9參數化
6.14.10yield與addfinalizer
第7章unitte測試框架
7.1關於unittest
7.2unittest框架四個重要概念
7測試加載方法
7.4測試用例
7.5測試集合
7.6按照特定順序執行測試用例
7.7忽略某個測試方法
7.8命令行模式執行測試用例(x)
7.9批量執行測試模塊
7.10常用的斷言方法
7.11在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.1關於XPath
8.8.2XPath節點
8.8.3XPath定位語法
8.8.4XPath運算符
8.9CSS定位
8.9.1關於CSS
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章WebDriver API詳解
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(x)
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瀏覽器中新開標簽頁
11.16測試過程中發生異常或斷言失敗時進行屏幕截圖
11.17使用日志模塊記錄測試過程中的信息
11.18封裝操作表格的公用類
11.19測試HTML5語言實現的視頻播放器
11.20在HTML5素上進行繪畫操作
11.21操作HTML5存儲對像
11.22使用Chrome瀏覽器自動將文件下載到指定路徑
11.23使用Firefox瀏覽器自動下載文件到指定路徑
11.24修改Chrome設置偽裝成手機M站
11.25將Firefox瀏覽器偽裝成手機M站
11.26屏蔽Chrome的ignorecertificateerrors提示及禁用擴展插件並實現
窗口化
11.27禁用Chrome瀏覽器的PDF和Flash插件
11.28禁用IE的保護模式
11.29禁用Chrome瀏覽器中的Image加載
11.30禁用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結合uittest完成分布式自動化測試
14.5實現並發的分布式自動化測試
第15章自動化測試框架的搭建及實戰
15.1關於自動化測試框架
15.2數據驅動框架及實戰
15.3關鍵字驅動框架及實戰
15.4關鍵字&數據混合驅動框架及實戰
第四篇常見問題和解決方法
第16章自動化測試常見問題和解決方法
16.1如何讓WebDriver支持IE 11
16.2解決Unexpected error launching Internet Explorer.Browser zoom
level was set to 75%(或其他百分比)的錯誤
16.3解決某些IE瀏覽器中輸入數字和英文特別慢的問題
16.4解決Firefox瀏覽器的cant access dead object異常
16.5常見異常和解決方法