全書共分14章,第1章 介紹自動化測試相關的基礎知識。
第2~10章 是本書的重點,從環境搭建、WebDriver API介紹,再到單元測試框架的使用,循序漸進地介紹自動化測試所用到的知識,最後再透過專案將這些知識串聯起來。
第11章 詳細介紹如何使用Jenkins配置自動化測試專案。
第12~14章 介紹行動自動化測試工具appium的使用。
本書寫作目的並不只是簡單地告訴讀者如何使用一個自動化測試工具,而是希望讀者在學習本書的內容後能夠提升技術高度、拓展技術寬度,擺脫簡單的手工測試,向高級測試工程師邁進。
適合讀者群 測試工程師、測試經理,或對測試技術感興趣者。
本書主要內容:
■ 介面測試基礎知識 ■ Postman 指令稿的應用
■ 初識Postman 工具 ■ Jenkins、Git
■ Postman 基本操作 ■ 介面測試持續整合
■ Postman 集合 ■ 專案介面測試實戰
適合讀者群:測試工程師、測試經理,或對測試技術感興趣的人員,都可以透過本書學習相關知識。
本書特色
❏全面介紹unittest和pytest兩大單元測試框架
❏透過20個範例展示WebDriverAPI使用場景
❏用自動化專案串聯知識點
作者簡介:
蟲師
樂於分享測試技術和經驗,在自動化測試、性能測試方面有豐富實戰經驗,對Web開發技術也有一定的積累。擔任過高級測試工程師、測試開發工程師,以及測試Leader等職位。
作者序
前言
《Selenium2 自動化測試實戰—基於Python 語言》出版後,我陸續收到許多回饋,有很多同學(我習慣這麼稱呼軟體測試的同行)透過這本書學會了Selenium 自動化測試,這是我寫這本書的初衷,能在你學習測試技術的道路上提供一點點幫助,我感到非常高興!也有同學向我回饋了書中的一些錯誤,在此深表感謝。
隨著我在自動化測試技術上的累積,我越發覺得《Selenium2 自動化測試實戰—基於Python 語言》一書有許多不足之處,有些內容已經過時,有些技術需要更進一步的探討。2017 年的時候我萌生要寫第二版的想法,當時只是想對少部分內容進行修改,直到2018 年下半年才開始動筆重新整理內容。我寫書的方式是一遍遍地修改書中的內容,所以,雖然不是從頭到尾寫一本新書,但也花費了半年之久。
隨著我對自動化測試的了解,更正了前一本書中的部分觀點。
(1) 加入了pytest 單元測試架構的使用方法,與unittest 相比,pytest 的功能更加強大,而且還有豐富的擴充函數庫,更適合用來做自動化測試。
(2) 補充Jenkins 的使用方法。
(3) 增加appium 移動自動化測試工具的介紹。隨著行動網際網路的發展,行動自動化測試幾乎成為測試人員必備技能之一,appium 正是在Selenium 的基礎上擴充而來的自動化工具。
當然,在上一本的基礎上,本書也刪減了部分內容。
(1) 刪掉了Selenium IDE 相關的內容, 越來越多的測試人員使用WebDriver 撰寫自動化指令稿,Selenium IDE 作為瀏覽器的自動化外掛程式,已經很少有同學單獨使用它完成大型自動化專案了。
(2) 刪掉Python 多執行緒相關的內容。多執行緒的優點是可以加強自動化測試的執行速度,缺點是降低了自動化的穩定性。本書介紹了減少測試使用案例執行時間的其他方法。
(3) 刪掉BDD 行為驅動開發相關的內容,本書更聚焦於自動化測試技術,所以,其他技術請參考專業的書進行學習。
在本書出版之際,Selenium4 已在開發當中,從Selenium 官方列出的訊息來看,Selenium4 對於本書的內容影響很小。
最後,由於作者水準有限,書中難免有錯誤之處,希望你能將錯誤回饋給我,我將感激不盡。感謝編輯安娜,沒有她的幫助本書無法出版。感謝讀者的厚愛,正是你們的鼓勵和支援,才使我有動力完成本書。
蟲師
前言
《Selenium2 自動化測試實戰—基於Python 語言》出版後,我陸續收到許多回饋,有很多同學(我習慣這麼稱呼軟體測試的同行)透過這本書學會了Selenium 自動化測試,這是我寫這本書的初衷,能在你學習測試技術的道路上提供一點點幫助,我感到非常高興!也有同學向我回饋了書中的一些錯誤,在此深表感謝。
隨著我在自動化測試技術上的累積,我越發覺得《Selenium2 自動化測試實戰—基於Python 語言》一書有許多不足之處,有些內容已經過時,有些技術需要更進一步的探討。2017 年的時候我萌生要寫第二版的想法,當時只是想對少部分內容...
目錄
前言
01自動化測試基礎
1.1 分層的自動化測試
1.2 適合自動化測試的專案
1.3 如何學習UI 自動化測試
1.4 Selenium 簡介
1.5 appium 簡介
02測試環境架設
2.1 安裝Python
2.2 安裝Selenium
2.3 第一個Selenium 自動化測試指令稿
2.4 瀏覽器驅動
03 Python 基礎
3.1 Python 哲學
3.2 輸出
3.3 分支與循環
3.4 清單、元組與字典 .
3.5 函數、類別和方法 .
3.6 模組
3.7 例外
3.8 新手常犯的錯誤
04 WebDriver API
4.1 從定位元素開始
4.2 控制瀏覽器
4.3 WebDriver 中的常用方法
4.4 滑鼠操作
4.5 鍵盤操作
4.6 獲得驗證資訊
4.7 設定元素等待
4.8 定位一組元素
4.9 多表單切換
4.10 多視窗切換
4.11 警告框處理
4.12 下拉清單處理
4.13 上傳檔案
4.14 下載檔案
4.15 操作Cookie
4.16 呼叫JavaScript
4.17 處理HTML5 視訊播放
4.18 滑動解鎖
4.19 視窗畫面
4.20 關閉視窗
05自動化測試模型
5.1 基本概念
5.2 自動化測試模型
5.3 模組化與參數化
5.4 讀取資料檔案
06 unittest 單元測試架構
6.1 認識unittest
6.2 關於unittest 還需要知道的
6.3 撰寫Web 自動化測試
07 unittest 擴充
7.1 HTML 測試報告
7.2 資料驅動應用
7.3 自動發送郵件功能
08 Page Object
8.1 認識Page Object
8.2 實現Paget Object
8.3 poium 測試函數庫
09 pytest 單元測試架構
9.1 pytest 簡單實例
9.2 pytest 的基本使用方法
9.3 pytest 擴充
9.4 建構Web 自動化測試專案
10 Selenium Grid
10.1 Selenium Grid 介紹
10.2 Selenium Grid 應用
11 Jenkins 持續整合
11.1 下載Tomcat
11.2 下載Jenkins
11.3 安裝設定Jenkins
11.4 Jenkins 的基本使用
11.5 Selenium 自動化專案設定
12 appium 的介紹與安裝
12.1 appium 介紹
12.2 appium 環境架設
13 appium 基礎
13.1 Desired Capabilities
13.2 控制項定位
13.3 appium 的常用API
13.4 appium Desktop
14 appium 測試實例
14.1 appium 應用測試
14.2 App 測試實戰
前言
01自動化測試基礎
1.1 分層的自動化測試
1.2 適合自動化測試的專案
1.3 如何學習UI 自動化測試
1.4 Selenium 簡介
1.5 appium 簡介
02測試環境架設
2.1 安裝Python
2.2 安裝Selenium
2.3 第一個Selenium 自動化測試指令稿
2.4 瀏覽器驅動
03 Python 基礎
3.1 Python 哲學
3.2 輸出
3.3 分支與循環
3.4 清單、元組與字典 .
3.5 函數、類別和方法 .
3.6 模組
3.7 例外
3.8 新手常犯的錯誤
04 WebDriver API
4.1 從定位元素開始
4.2 控制瀏覽器
4.3 WebDriver 中的常用方法
4.4 滑鼠操作
4...