《前端自動化測試框架——Cypress從入門到精通》是2020年4月電子工業出版社出版的圖書,作者是蔡超。
基本介紹
- 書名:前端自動化測試框架——Cypress從入門到精通
- 作者:蔡超
- 出版社:電子工業出版社
- 出版時間:2020年4月
- 頁數:252 頁
- 開本:16 開
- ISBN:9787121387784
- 字數:290千字
- 版次:01-01
內容簡介,圖書目錄,
內容簡介
本書在簡要講解軟體測試概述和自動化測試框架之後,教會讀者了解測試的基本概念,以及如何設計一個測試框架。之後,在分別介紹了一些流行框架並使讀者知曉各自優缺點和適用,使得讀者對前端自動化框架有提綱挈領的了解。在此基礎上,本書重點介紹當下流行的前端測試框架Cypress ,通過基礎知識、進階知識、高級用法和實戰演示幾個方面,由淺入深,讓讀者真正掌握前端測試框架,成為軟體測試行業的高手。
圖書目錄
第一部分 前端自動化測試框架準備篇
第1 章 前端自動化測試概述2
1.1 前端自動化測試概述2
1.2 前端自動化測試框架概述5
1.2.1 應運而生的前端測試框架5
1.2.2 前端自動化測試框架組成6
1.2.3 前端自動化測試框架設計原則8
1.3 前端代碼基礎9
第二部分 前端自動化測試工具篇
第2 章 前端測試框架/工具大比拼14
2.1 前端測試框架/工具簡介14
2.1.1 Selenium/WebDriver14
2.1.2 Karma15
2.1.3 Nightwatch17
2.1.4 Protractor17
2.1.5 TestCafe18
2.1.6 Puppeteer19
2.2 Cypress框架介紹20
2.2.1 Cypress簡介20
2.2.2 Cypress架構及原理20
2.2.3 Cypress八大特性22
2.2.4 一圖勝千言23
2.3 Cypress與Selenium/WebDriver的比較23
2.3.1 Selenium/WebDriver的原理23
2.3.2 Cypress與Selenium/WebDriver比較26
2.4 Cypress與其他主流測試工具比較29
2.4.1 Cypress與Karma比較29
2.4.2 Cypress與Nightwatch比較30
2.4.3 Cypress與Protractor比較31
2.4.4 Cypress與TestCafe比較32
2.4.5 Cypress與Puppeteer比較33
2.5 Cypress的局限34
2.5.1 長期權衡34
2.5.2 短期折中34
第三部分 前端自動化測試框架基礎篇
——Cypress基礎知識
第3 章 Cypress初體驗36
3.1 Cypress安裝36
3.1.1 系統要求36
3.1.2 下載36
3.1.3 安裝37
3.1.4 打開Cypress39
3.1.5 Cypress設定40
3.2 搭建測試套用41
3.2.1 下載測試套用41
3.2.2 啟動測試套用42
3.3 測試你的套用44
3.3.1 創建測試44
3.3.2 編寫測試用例44
3.3.3 運行測試46
3.3.4 調試測試用例47
第4 章 Cypress測試框架拆解53
4.1 Cypress默認檔案結構53
4.1.1 測試夾具(Fixture)54
4.1.2 測試檔案(Test file)54
4.1.3 外掛程式檔案(Plugin file)55
4.1.4 支持檔案(Support file)55
4.2 自定義Cypress56
4.3 重試機制59
4.3.1 命令和斷言59
4.3.2 多重斷言61
4.3.3 重試(Retry-ability)的條件61
4.4 測試報告62
4.4.1 內置的測試報告62
4.4.2 自定義的測試報告66
4.4.3 生成混合測試報告69
第5 章 測試用例的組織和編寫72
5.1 Mocha介紹72
5.2 鉤子函式(Hook)74
5.3 排除或包含測試用例82
5.3.1 排除測試套件/測試用例83
5.3.2 包含測試套件/測試用例86
5.4 動態忽略測試用例89
5.5 動態生成測試用例91
5.6 斷言93
5.7 觀察測試運行94
第6 章 Cypress與元素互動97
6.1 Cypress元素定位選擇器97
6.2 Cypress與頁面元素互動99
6.2.1 查找頁面元素的基本方法99
6.2.2 查找頁面元素的輔助方法100
6.2.3 可操作類型105
6.2.4 Cypress常見操作109
第7 章 命令行運行Cypress117
7.1 cypress open117
7.1.1 cypress open簡介117
7.1.2 cypress open詳解118
7.2 cypress run119
7.2.1 cypress run簡介119
7.2.2 cypress run詳解119
第8 章 測試運行器123
8.1 Test Runner簡介123
8.2 Test Runner如何便捷我們的測試125
8.2.1 更改瀏覽器125
8.2.2 更改元素定位策略125
8.2.3 實時監控測試用例執行情況126
8.2.4 時間穿梭功能126
8.3 Test Runner功能擴展127
8.3.1 安裝127
8.3.2 配置127
8.3.3 使用128
第9 章 重塑你的“測試習慣”129
9.1 Cypress典型的“坑”129
9.1.1 Cypress命令是異步的129
9.1.2 慎用箭頭函式130
9.1.3 async/await不工作130
9.1.4 賦值“永遠”失敗131
9.1.5 躲不過的同源策略131
9.2 Cypress獨特之處132
9.2.1 閉包(Closure)132
9.2.2 變數和別名133
第四部分 前端自動化測試框架進階篇
——Cypress進階
第10 章 Cypress最佳實踐138
10.1 設定全局URL138
10.2 避免訪問多個站點139
10.3 刪除等待代碼139
10.4 停用條件測試140
10.5 實時調試和中斷140
10.6 運行時的截圖和錄屏141
10.7 斷言最佳實踐143
10.8 改造PageObject模式146
10.9 使用Custom Commands153
10.10 數據驅動策略155
10.10.1 數據保存在前置條件里155
10.10.2 使用fixtures156
10.10.3 數據保存在自定義檔案中156
10.11 環境變數設定指南157
10.11.1 cypress.json設定157
10.11.2 cypress.env.json157
10.11.3 運行時動態指定環境變數158
10.12 測試運行最佳實踐159
10.12.1 動態生成測試用例159
10.12.2 挑選待運行測試用例159
10.13 測試運行失敗自動重試162
10.14 全面的測試報告162
10.15 Cypress連線DB163
第11 章 使用Cypress做接口測試165
11.1 發起接口請求165
11.1.1 發起HTTP請求的方式165
11.1.2 發起GET請求166
11.1.3 發起POST請求167
11.2 實例演示170
第12 章 Mock Server172
12.1 自定義Mock Server172
12.1.1 搭建Mock Server172
12.1.2 使用Mock Server進行測試173
12.2 Cypress自帶Mock182
12.2.1 截獲接口返回值184
12.2.2 更改接口返回值185
第13 章 模組API187
13.1 cypress.run( )187
13.2 cypress.open( )188
13.3 Module API實踐188
13.3.1 挑選測試用例運行188
13.3.2 Module API完整項目實踐191
第五部分 前端自動化測試框架高級篇
——持續集成實踐
第14 章 Cypress持續集成實踐202
14.1 持續集成簡介202
14.2 Cypress並行執行測試203
14.3 Circle CI持續集成實踐204
14.3.1 Circle CI集成Github204
14.3.2 Circle CI集成Cypress212
14.4 Jenkins持續集成實踐220
附錄A 參考資料229
A.1 原始碼下載229
A.2 參考資料229
A.3 聯繫作者229