自動化測試實戰(zhàn)——基于TestNG/JUnit/Robot Framework/Selenium
定 價:99 元
- 作者:盧家濤 編著
- 出版時間:2021/3/1
- ISBN:9787111673163
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:251
- 紙張:
- 版次:
- 開本:16開
《自動化測試實戰(zhàn)——基于TestNG/JUnit/Robot Framework/Selenium》共12章,第1章首先以一個自動化測試用例為引子,接下來的10章對由此引申出的自動化測試中的多個熱門專題,包括測試用例分層、數(shù)據(jù)驅動測試、關鍵字驅動測試、Page Object設計模式、等待、斷言、測試報告、測試替身、并行執(zhí)行、分布式執(zhí)行和持續(xù)集成等進行了詳細介紹,第12章以展望的形式對自動化測試平臺以及容器化和人工智能技術在自動化測試中的應用做了簡介。
《自動化測試實戰(zhàn)——基于TestNG/JUnit/Robot Framework/Selenium》適合有一定編程語言和自動化測試基礎的中高級測試工程師、自動化測試工程師、測試開發(fā)工程師以及測試管理者閱讀。
第1章 引例
1.1 部署示例應用程序
1.1.1 安裝JRE
1.1.2 安裝H2
1.1.3 安裝ZooKeeper
1.1.4 啟動示例應用程序
1.2 一個例子引發(fā)的思考
1.2.1 準備
1.2.2 編寫登錄測試用例
1.2.3 如何優(yōu)化測試用例
第2章 測試用例分層
2.1 模塊化
2.1.1 初步模塊化
2.1.2 進一步優(yōu)化
2.2 函數(shù)庫
2.2.1 使用Maven私有倉庫
2.2.2 發(fā)布函數(shù)庫
2.2.3 使用函數(shù)庫
2.3 精細化測試用例分層
第3章 數(shù)據(jù)驅動測試
3.1 TestNG參數(shù)化測試
3.1.1 使用@DataProvider注解
3.1.2 使用@Parameters注解
3.1.3 使用@Factory注解
3.2 JUnit參數(shù)化測試
3.2.1 使用@ValueSource注解
3.2.2 使用@NullSource、@EmptySource和@NullAndEmptySource注解
3.2.3 使用@EnumSource注解
3.2.4 使用@MethodSource注解
3.2.5 使用@CsvSource注解
3.2.6 使用@CsvFileSource注解
3.2.7 使用@ArgumentsSource和@ArgumentsSources注解
3.3 使用不同的數(shù)據(jù)源
3.3.1 使用CSV作為數(shù)據(jù)源
3.3.2 使用Excel作為數(shù)據(jù)源
3.3.3 使用Properties作為數(shù)據(jù)源
3.3.4 使用YAML作為數(shù)據(jù)源
3.3.5 使用數(shù)據(jù)庫作為數(shù)據(jù)源
第4章 關鍵字驅動測試
4.1 關鍵字簡介
4.2 Robot Framework關鍵字
4.2.1 BuiltIn關鍵字庫
4.2.2 Collections關鍵字庫
4.2.3 DateTime關鍵字庫
4.2.4 Dialogs關鍵字庫
4.2.5 Easter關鍵字庫
4.2.6 OperatingSystem關鍵字庫
4.2.7 Process關鍵字庫
4.2.8 Remote關鍵字庫
4.2.9 Reserved關鍵字庫
4.2.10 Screenshot關鍵字庫
4.2.11 String關鍵字庫
4.2.12 Telnet關鍵字庫
4.2.13 XML關鍵字庫
4.2.14 外部關鍵字庫
4.2.15 自定義關鍵字庫
4.2.16 用戶關鍵字
4.2.17 關鍵字的優(yōu)先級
4.3 實現(xiàn)關鍵字驅動測試框架
4.3.1 實現(xiàn)關鍵字
4.3.2 解析關鍵字
4.3.3 執(zhí)行關鍵字
4.3.4 優(yōu)化建議
第5章 Page Object設計模式
5.1 Page Object設計模式簡介
5.2 兩層建模
5.2.1 頁面對象層
5.2.2 測試用例層
5.3 三層建模
5.3.1 頁面對象層
5.3.2 業(yè)務邏輯層
5.3.3 測試用例層
5.4 Selenium支持
5.4.1 使用PageFactory類
5.4.2 使用LoadableComponent>類
5.5 優(yōu)化建議
第6章 等待的藝術
6.1 Java線程休眠
6.2 隱式等待
6.2.1 查找元素等待
6.2.2 頁面加載等待
6.2.3 異步執(zhí)行JavaScript腳本等待
6.3 顯式等待
6.3.1 使用WebDriverWait類
6.3.2 詳解內置等待條件
6.3.3 使用FluentWait類
6.3.4 實現(xiàn)自定義等待條件
第7章 高效的斷言
7.1 Java斷言
7.2 TestNG斷言
7.2.1 相等和不相等的斷言
7.2.2 真和假的斷言
7.2.3 空和非空的斷言
7.2.4 相同和不相同的斷言
7.2.5 拋出的斷言
7.2.6 失敗的斷言
7.3 JUnit斷言
7.3.1 準備
7.3.2 相等和不相等的斷言
7.3.3 真和假的斷言
7.3.4 空和非空的斷言
7.3.5 相同和不相同的斷言
7.3.6 匹配的斷言
7.3.7 多個結果的斷言
7.3.8 超時的斷言
7.3.9 拋出和不拋出的斷言
7.310 失敗的斷言
7.4 使用AssertJ斷言函數(shù)庫
7.5 使用Hamcrest斷言函數(shù)庫
第8章 測試報告
8.1 TestNG測試報告
8.1.1 內置測試報告
8.1.2 自定義測試報告
8.2 使用Extent Reporting框架
8.2.1 本地測試報告
8.2.2 測試報告服務器
8.3 使用Allure框架
8.3.1 收集測試結果數(shù)據(jù)
8.3.2 使用命令行工具生成測試報告
8.3.3 使用Maven插件生成測試報告
8.4 使用郵件發(fā)送測試報告
8.4.1 實現(xiàn)郵件發(fā)送客戶端
8.4.2 發(fā)送測試報告
第9章 測試替身
9.1 測試替身簡介
9.2 準備
9.2.1 Java EE應用程序分層模型
9.2.2 規(guī)劃示例應用程序
9.3 使用Dummy
9.4 使用Stub
9.5 使用Spy
9.6 使用Mock
9.6.1 單元測試的Mock
9.6.2 HTTP接口測試的Mock
9.6.3 Dubbo接口測試的Mock
9.7 使用Fake
第10章 提高執(zhí)行效率
10.1 使用無頭瀏覽器
10.1.1 PhantomJS和HtmlUnit
10.1.2 Chrome無頭模式
10.1.3 Firefox無頭模式
10.2 TestNG并行執(zhí)行
10.2.1 并行執(zhí)行策略
10.2.2 設置并行線程數(shù)
10.2.3 設置超時時間
10.2.4 覆蓋屬性
10.2.5 使用@Test注解
10.2.6 使用@DataProvider注解
10.3 JUnit并行執(zhí)行
10.3.1 并行執(zhí)行策略
10.3.2 設置并行線程數(shù)
10.3.3 使用@ResourceLock注解
10.3.4 使用@Execution注解
10.4 Selenium Grid
10.4.1 準備
10.4.2 控制臺和配置
10.4.3 分布式執(zhí)行
第11章 持續(xù)集成、持續(xù)交付和持續(xù)部署
11.1 持續(xù)集成、持續(xù)交付和持續(xù)部署簡介
11.2 Jenkins實現(xiàn)持續(xù)集成、持續(xù)交付和持續(xù)部署
11.2.1 Blue Ocean簡介
11.2.2 使用普通流水線
11.2.3 使用多分支流水線
11.3 其他常用實踐
11.3.1 郵件通知
11.3.2 多節(jié)點構建
11.3.3 集成第三方測試報告
第12章 展望
12.1 自動化測試平臺
12.2 自動化測試與容器化
12.3 自動化測試與人工智能