全棧自動化測試——基于Java和TestNG
  • 推薦0
  • 收藏1
  • 瀏覽143

全棧自動化測試——基于Java和TestNG

盧家濤 (作者) 

  • 書  號:ISBN 978-7-121-38382-3
  • 出版日期:2020-03-01
  • 頁  數:
  • 開  本:
  • 出版狀態:上市銷售
  • 維護人:安娜
TestNG 作為Java 中舉足輕重的測試框架,除可以替代JUnit 進行單元自動化測試外,還可以通過集成Selenium、Appium 和HttpClient 等框架做各種類型的自動化測試。本書首先對自動化測試進行了概述,接著對TestNG 的語法進行了講解,核心部分是使用TestNG 進行單元自動化測試、接口自動化測試和界面自動化測試,最后介紹了持續集成、Mock 測試和代碼覆蓋率等擴展知識。
本書適合測試工程師、自動化測試工程師和測試管理者閱讀。
本書是一本TestNG入門手冊,可幫助讀者快速上手,并在實踐中使用TestNG測試框架。
盧家濤,2011年開始接觸自動化測試,對基于Java和Python的自動化測試技術有深入研究?,F于某公司擔任高級測試工程師一職,負責整個公司的自動化測試方向研究和項目落地。
前言
寫作背景
2011 年我接觸了第一個自動化測試工具DeviceAnywhere,該工具將真實手機置于云端,通過錄制回放執行自動化測試腳本,最終采用圖片對比技術實現斷言。自此之后,我對自動化測試技術產生了濃厚的興趣,在之后的8 年多時間里,我不斷學習自動化測試技術,并把它落實到實際項目中。
為什么是TestNG,而不是JUnit?
JUnit 主要用于單元測試,而TestNG 在JUnit 的基礎上做了很多改進,更適合做全棧自動化測試的整體框架。

本書內容
本書的寫作順序不是由淺入深的,而是“自底向上”的,即按照單元自動化測試、接口自動化測試和界面自動化測試的順序編寫的。
本書首先對自動化測試進行了概述(第1 章);
接著對Java 和TestNG 語法進行了講解(第2 章和第3 章);
核心部分是使用TestNG 進行單元自動化測試、接口自動化測試和界面自動化測試(第4章至第10 章);
最后介紹了持續集成、Mock 測試和代碼覆蓋率等擴展知識(第11 章)。
對于代碼基礎比較薄弱的讀者,建議在閱讀完前三章內容后,先閱讀較為簡單的第5、7、8 章,再閱讀第4、6、9、10、11 章。

適合讀者
測試工程師:本書可以從簡單的Web 自動化測試(第7 章)帶你走進自動化測試的大門。
自動化測試工程師:打通各個級別的自動化測試壁壘,幫助讀者全面掌握單元自動化測試、接口自動化測試和界面自動化測試。
測試管理者:了解主流自動化測試技術,指導團隊開展自動化測試,把握自動化測試的方向和目標。

致謝
感謝老婆的理解和支持,讓我能全身心地編寫本書。
感謝老大(陳恒驥)給我進入軟件測試行業的機會,沒有這個機會,我不可能在這個行業走得這么遠。
感謝編輯安娜在本書出版過程中耐心的指導。
雖然書中的每個技術點都曾在實際項目中實踐過,但由于時間倉促難免有誤,敬請讀者批評指正。
筆者的GitHub:https://github.com/lujiatao2/httpinterface/releases。
盧家濤
2019 年12 月20 日

目錄

第1 章 自動化測試概述 1
1.1 自動化測試定義和分類 . 1
1.2 自動化測試的目的 . 3
1.2.1 提高軟件質量 3
1.2.2 提高測試效率 5
1.3 自動化測試實施三要素 . 6
1.3.1 有明確的目標 6
1.3.2 有足夠的資源 7
1.3.3 有合理的計劃 8

第2 章 TestNG 語法 . 12
2.1 TestNG 簡介 12
2.2 測試前的準備工作 . 12
2.2.1 配置Maven 12
2.2.2 創建工程 14
2.2.3 測試執行 16
2.3 TestNG 注解 19
2.3.1 前置條件和后置條件 20
2.3.2 數據驅動 24
2.3.3 測試用例 25
2.4 testng.xml. 28
2.4.1 28
2.4.2 . 30
2.4.3 標簽 32

第3 章 單元自動化測試 34
3.1 編寫待測程序 . 34
3.2 手工測試用例設計 . 35
3.2.1 分析待測程序 35
3.2.2 測試用例設計 35
3.3 設計自動化測試用例 . 36
3.3.1 基于JUnit 設計自動化測試用例 36
3.3.2 基于TestNG 設計自動化測試用例 38
3.4 Spring 的單元自動化測試 42
3.4.1 Java 企業級應用簡介 42
3.4.2 編寫待測程序 44
3.4.3 單元自動化測試 50

第4 章 HTTP 接口自動化測試 56
4.1 HTTP 簡介 56
4.2 部署待測程序 . 57
4.3 手工測試用例設計 . 58
4.3.1 分析待測接口 58
4.3.2 測試用例設計 60
4.4 HttpClient 用法 . 62
4.4.1 HttpClient 簡介 62
4.4.2 創建工程 63
4.4.3 發送HTTP 請求 64
4.4.4 處理服務器響應 66
4.4.5 設置請求頭 68
4.5 TestNG 集成HttpClient 68
4.5.1 RESTful 接口自動化測試 . 69
4.5.2 SOAP 接口自動化測試 . 81

第5 章 RPC 接口自動化測試 . 87
5.1 RPC 簡介 . 87
5.2 部署待測程序 . 88
5.3 手工測試用例設計 . 90
5.3.1 分析待測接口 90
5.3.2 測試用例設計 91
5.4 TestNG Dubbo 接口自動化測試 92
5.4.1 基于XML 方式 . 94
5.4.2 基于API 方式 99
5.4.3 基于注解方式 100
5.4.4 泛化調用 102

第6 章 Web 自動化測試 . 107
6.1 Web 自動化測試工具(框架)簡介 . 107
6.2 部署待測程序 . 108
6.3 Selenium 用法 . 109
6.3.1 準備 109
6.3.2 元素操作 110
6.3.3 鼠標事件 115
6.3.4 鍵盤事件 118
6.3.5 瀏覽器操作 119
6.3.6 JavaScript 對話框處理 121
6.3.7 等待處理 124
6.4 TestNG 集成Selenium 129

第7 章 Android 自動化測試 133
7.1 Android 自動化測試工具(框架)簡介 . 133
7.2 安裝待測應用 . 134
7.3 Appium 用法 . 134
7.3.1 準備 134
7.3.2 初始化參數 136
7.3.3 元素操作 139
7.3.4 應用操作 145
7.3.5 系統操作 146
7.3.6 使用Android 模擬器 . 147
7.4 TestNG 集成Appium 148

第8 章 iOS 自動化測試 151
8.1 iOS 自動化測試工具(框架)簡介 151
8.2 待測應用開發 . 151
8.2.1 工程創建 152
8.2.2 界面開發 152
8.2.3 邏輯開發 155
8.3 Appium 的用法 . 159
8.3.1 準備 159
8.3.2 初始化參數 160
8.3.3 元素操作 161
8.3.4 應用操作 167
8.3.5 系統操作 169
8.3.6 使用iOS 模擬器 169
8.4 TestNG 集成Appium 171

第9 章 自動化測試實戰 174
9.1 實戰項目部署安裝 . 174
9.1.1 JForum 論壇部署 . 174
9.1.2 AnExplorer 文件管理器安裝 177
9.2 Web 自動化測試實戰 . 177
9.2.1 分層和解耦 177
9.2.2 公共函數和業務函數封裝 180
9.2.3 自動化測試用例編寫 186
9.2.4 測試數據準備 189
9.3 Android 自動化測試實戰 . 192
9.3.1 工程準備 192
9.3.2 Page Object 設計模式 193
9.3.3 頁面對象層封裝 195
9.3.4 業務邏輯層封裝 203
9.3.5 自動化測試用例編寫 204
9.4 進一步優化 . 207

第10 章 持續集成 208
10.1 持續集成、持續交付和持續部署 208
10.2 Jenkins 的重要功能簡介 209
10.2.1 Jenkins 部署 . 209
10.2.2 任務管理 211
10.2.3 構建管理 212
10.2.4 節點管理 213
10.2.5 插件管理 213
10.2.6 用戶管理 215
10.3 TestNG 集成到Jenkins . 216
10.3.1 TestNG 工程創建 . 216
10.3.2 SVN 部署及使用 . 218
10.3.3 JDK 和Maven 配置 . 220
10.3.4 把TestNG 集成到Jenkins . 221

第11 章 Mock 測試和代碼覆蓋率 . 225
11.1 單元Mock 測試 225
11.1.1 單元Mock 測試簡介 . 225
11.2.2 Mockito 用法 225
11.2 接口Mock 測試 230
11.2.1 接口Mock 測試簡介 . 230
11.2.2 RAP2 用法 . 230
11.3 代碼覆蓋率簡介 234
11.4 JaCoCo 用法 235
11.4.1 JaCoCo 計數器 . 235
11.4.2 使用EclEmma 插件. 236
11.4.3 Maven 集成JaCoCo. 239

讀者評論

相關圖書

Julia高性能科學計算 : 第2版

Changhyun Kwon ( 權昌賢) (作者) 徐國棟 李琦 (譯者)

Julia 像C一樣快,像MATLAB 一樣方便,并且像Python 一樣通用。在Julia 開發者,特別是JuMP 包開發者的大力支持下,Julia 為運籌學...

 

帶你成為股權激勵項目專家——股權激勵項目實戰

高建華 (作者)

1)從寫作視角上:站在了一個更高的角度,作者不是像市場在售的幾乎是所有股權激勵類圖書,將關注點放在股權激勵方案本身,而是從真正實際操作的角度,將股權激勵 視作項...

¥89.00

程序員修煉之道:通向務實的最高境界(第2版)

THOMAS, DAVID; HUNT, ANDREW (作者)

《程序員修煉之道》之所以在全球范圍內廣泛傳播,被一代代開發者奉為圭臬,蓋因它可以創造出真正的價值:或編寫出更好的軟件,或探究出編程的本質,而所有收獲均不依賴于特...

¥89.00

搜索功夫:信息時代如何快速解決問題

朱丹 (作者)

如何報高考志愿?要不要現在換工作?如何租房?要不要現在買房?如何快速獲得行業報告?如何判斷藥是否對癥?如何快速找到合適的線下活動場地?……人生中99%的問題早已...

¥99.00

ASP.NET Core 3框架揭秘

蔣金楠 (作者)

本書主要闡述 ASP.NET Core 最核心的部分——請求處理管道。通過閱讀本書,讀者可以深刻系統地了解 ASP.NET Core 應用在啟動過程中管道的構建...

¥199.00

Spring Cloud微服務架構實戰

陳韶健 (作者)

本書以Spring Cloud為主導,以電商平臺為實例,從服務架構設計的角度,對架構設計、程序開發、運維部署三個層面進行了詳細的闡述。本書不僅詳細介紹了如何使用...

 
国际官方棋牌下载中心 国内正规股票配资平台有哪些 河北快3开 贵州11选五平台 pc蛋蛋刷蛋指南 甘肃快三走势图表 股票指数期货是为适应人们管理股市风险 四川金7乐开奖走势图 2018年最靠谱理财平台 山东11选5前一玩法 天津时时彩开奖号码