內容提要
《持續集成實踐》分為三大部分,第一部分介紹一些行業的持續集成解決方案,持續集成的特點及適用範圍;第二部分介紹持續集成如何進行一鍵式部署等;第三部分介紹持續集成與主流Web 測試工具Selenium 和TestNG 的結合套用。
目錄
第1 部分 持續集成:介紹篇
第1 章 持續集成解決了什麼問題 ............................................................................ 2
1.1 提高軟體質量 ........................................................................................................ 2
1.2 節約時間,縮短項目發布周期 ............................................................................ 5
1.3 便捷部署 ................................................................................................................ 7
1.4 增強項目的可見性 ................................................................................................ 8
1.5 建立團隊對開發產品的信心 ................................................................................ 9
1.6 解決項目管理的困惑 .......................................................................................... 10
1.7 總結 ...................................................................................................................... 11
第2 章 何謂持續集成 .............................................................................................. 12
2.1 持續集成的定義 .................................................................................................. 12
2.2 持續集成的特點 .................................................................................................. 12
2.3 原則 ...................................................................................................................... 15
2.4 總結 ...................................................................................................................... 17
第3 章 持續集成的核心價值 .................................................................................. 18
3.1 價值點 .................................................................................................................. 18
3.2 減少風險 .............................................................................................................. 19
3.3 根據變更構建軟體 .............................................................................................. 20
3.4 總結 ...................................................................................................................... 22
第4 章 持續集成實踐步驟 ...................................................................................... 23
4.1 如何選取最佳解決方案 ...................................................................................... 23
4.2 持續集成實踐計畫 .............................................................................................. 26
4.3 持續集成實踐風險 .............................................................................................. 31
4.4 總結 .................................................................................................................... 32
第5 章 持續集成如何實施 .................................................................................... 33
5.1 場景一:Jenkins+版本控制 ............................................................................... 33
5.2 場景二:Jenkins+Selenium ................................................................................ 37
5.3 場景三:Jenkins+Android .................................................................................. 43
5.4 場景四:Jenkins+GitHub .................................................................................... 52
5.5 總結 .................................................................................................................... 58
第2 部分 持續集成:玩轉Jenkins
第6 章 持續集成工具Jenkins ................................................................................. 62
6.1 持續集成工具介紹 ............................................................................................. 62
6.2 為什麼選用Jenkins ............................................................................................. 68
6.3 Jenkins 簡介 ........................................................................................................ 69
6.4 總結 ..................................................................................................................... 71
第7 章 搭建Jenkins 環境 ...................................................................................... 72
7.1 Jenkins 的官網地址 ............................................................................................ 72
7.2 安裝環境 ............................................................................................................. 72
7.3 在Windows 系統中安裝Jenkins ....................................................................... 78
7.4 在Linux 系統中安裝Jenkins .............................................................................. 79
7.5 Jenkins 的目錄結構 ............................................................................................ 80
7.6 總結 ..................................................................................................................... 81
第8 章 Jenkins 的系統配置及使用說明 ................................................................ 82
8.1 Jenkins 的系統配置 ............................................................................................. 82
8.2 外掛程式管理 .............................................................................................................. 89
8.3 許可權設定 .............................................................................................................. 89
8.4 Jenkins 中slave 節點的套用 ............................................................................... 92
8.5 新建一個構建 ...................................................................................................... 93
8.6 控制台操作 ......................................................................................................... 100
8.7 例子 ..................................................................................................................... 104
8.8 Jenkins 維護之升級 ............................................................................................ 110
8.9 Jenkins 維護之備份 ............................................................................................ 111
8.10 總結 .................................................................................................................. 113
第9 章 Jenkins 與Ant、Maven 結合 ................................................................... 114
9.1 Ant 簡介 ............................................................................................................. 114
9.2 在Jenkins 中配置Ant 環境 ............................................................................. 114
9.3 用Ant 構建項目 ................................................................................................ 115
9.4 Ant 的常用命令 .................................................................................................. 116
9.5 Maven 介紹 ......................................................................................................... 118
9.5.1 Maven 簡介 ...................................................................................................... 118
9.5.2 Maven 的安裝 .................................................................................................. 119
9.5.3 Maven 坐標詳解 .............................................................................................. 120
9.5.4 Maven 的生命周期與命令行 .......................................................................... 122
9.6 在Jenkins 中配置Maven 環境 ......................................................................... 124
9.7 用Maven 構建項目 ........................................................................................... 125
9.8 總結 ..................................................................................................................... 127
第10 章 持續評審、持續部署與持續反饋 .......................................................... 128
10.1 在Jenkins 中配置Checkstyle .......................................................................... 128
10.2 在Jenkins 中配置FindBugs ............................................................................. 129
10.3 在Jenkins 中配置Publish over SSH ................................................................. 132
10.4 在Jenkins 中配置Weblogic 項目的部署 ...................................................... 134
10.5 在Jenkins 中配置Tomcat 項目的部署 ......................................................... 135
10.6 Jenkins 中郵件的配置 ..................................................................................... 136
10.7 配置構建完成後自動傳送郵件 ...................................................................... 142
10.8 總結 .................................................................................................................. 144
第3 部分 自動化測試篇:Jenkins+Selenium
第11 章 自動化測試工具之Selenium ................................................................... 146
11.1 Selenium 的定義 .............................................................................................. 147
11.1.1 自動化測試的定義 ....................................................................................... 147
11.1.2 Selenium 是優秀的Web 測試工具 ............................................................. 148
11.2 Selenium 1.0 與Selenium 2.0 ............................................................................ 148
11.3 瀏覽器的支持 ................................................................................................... 149
11.4 Selenium RC 的原理 .......................................................................................... 150
11.5 Firefox 的安裝 ................................................................................................... 150
11.6 Selenium IDE 的安裝 ......................................................................................... 151
11.7 Firebug ................................................................................................................. 152
11.7.1 Firebug 簡介 ............................................................................... ................... 152
11.7.2 Firebug 的安裝 ........................................................................... ................... 153
11.7.3 Firebug 定位頁面元素 ............................................................ .... .................. 154
11.8 Java 開發環境的配置 ................................................................. ...................... 156
11.9 Eclipse ............................................................................................. ..................... 158
11.9.1 Eclipse 簡介 ........................................................................... .... .................... 158
11.9.2 Eclipse 的安裝 ....................................................................... .... .................... 159
11.9.3 Eclipse 的常用快捷鍵 ...................................................... .... ......................... 159
11.10 Eclipse 外掛程式安裝 .............................................................................................. 160
第12 章 Selenium入門 ............................................................................................ 163
12.1 Selenium IDE 的用法 ......................................................................................... 163
12.1.1 Selenium IDE 腳本的錄製與回放 .................................................................. 163
12.1.2 Selenium IDE 腳本的調試 .............................................................................. 164
12.1.3 Selenium IDE 腳本的導出 .............................................................................. 166
12.2 XPath 的簡介與套用 ......................................................................................... 169
12.2.1 XPath 簡介 ...................................................................................................... 169
12.2.2 XPath 中節點的定位 ...................................................................................... 171
12.3 Selenium 2.0 基礎 ............................................................................................. 172
12.3.1 下載Selenium lib 包 ..................................................................................... 172
12.3.2 打開瀏覽器 .................................................................................................... 173
12.3.3 打開測試頁面 ................................................................................................ 173
12.4 如何在Selenium 中查找與定位頁面元素 ..................................................... 174
12.4.1 By ID ................................................................................................................. 174
12.4.2 By Name ........................................................................................................... 174
12.4.3 By className ............................................................................................... 174
12.4.4 By XPath ....................................................................................................... 174
12.5 Selenium 如何操作頁面元素 ....................................................................... 175
12.5.1 輸入框 ...................................................................................... ................. 175
12.5.2 按鈕 ....................................................................................... .................... 175
12.5.3 下拉選擇框 ......................................................................... ...................... 175
12.5.4 彈出對話框 .......................................................... ..................................... 176
12.5.5 導航 ................................................................ ........................................... 176
12.5.6 上傳檔案 ...................................................... ............................................. 176
12.5.7 拖曳 ................................................................... ........................................ 177
12.5.8 雙擊 .............................................................. ............................................. 177
12.5.9 右鍵選單 ................................................................ ................................... 177
12.6 高級套用 ....................................................................................................... 177
12.6.1 讀取Cookie ............................................................... ................................. 177
12.6.2 調用JavaScript ................................................................. .......................... 178
12.6.3 截圖 ........................................................................................ ................... 178
12.6.4 頁面的隱式等待 ......................................................................... .............. 178
12.6.5 頁面的顯式等待 .............................................................................. ......... 178
12.6.6 設定profile 屬性 ................................................................................. ..... 179
12.7 其他 ............................................................................................................... 179
第13 章 基於Selenium 封裝的測試框架 .......................................................... 180
13.1 框架簡介 ........................................................................................................ 180
13.1.1 框架特色 ..................................................................................................... 181
13.2 瀏覽器支持 .................................................................................................... 181
13.2.1 Firefox ............................................................................................................ 182
13.2.2 IE .................................................................................................................... 182
13.3 Maven 管理 .................................................................................................... 183
13.4 TestNG 工具 ................................................................................................... 184
13.4.1 監聽 ............................................................................................................ 187
13.5 關鍵字驅動 .................................................................................................... 192
13.6 報告 ................................................................................................................ 193
13.6.1 日誌 ............................................................................................................. 193
13.6.2 結果統計 ..................................................................................................... 197
13.7 其他功能 ........................................................................................................ 201
13.7.1 高亮 ............................................................................................................. 201
13.7.2 智慧型提醒 ..................................................................................................... 202
第14 章 自動化測試持續集成 ............................................................................ 204
14.1 持續集成的基礎配置 .................................................................................... 204
14.1.1 選擇JDK 的版本 ........................................................................................ 204
14.1.2 配置源碼管理方式 ......................................................... ........................... 204
14.1.3 測試頻率 ............................................................................ ........................ 205
14.1.4 配置Maven ........................................................................ ......................... 206
14.1.5 Windows 批處理命令設定 ............................................ ............................ 206
14.2 分散式測試執行 ............................................................................................ 208
14.3 測試報告集成 ............................................................................................... 210
附錄A 技能儲備 ................................................................................................... 227
附錄B 持續集成相關資源 ................................................................................... 228
附錄C 名詞解釋 ................................................................................................... 230
後記 ........................................................................................................................ 234