全棧 UI 自動化測試實戰

胡勝強、單鏡石、李睿

  • 出版商: 清華大學
  • 出版日期: 2021-08-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 301
  • 裝訂: 平裝
  • ISBN: 730258205X
  • ISBN-13: 9787302582052
  • 立即出貨

  • 全棧 UI 自動化測試實戰-preview-1
  • 全棧 UI 自動化測試實戰-preview-2
  • 全棧 UI 自動化測試實戰-preview-3
全棧 UI 自動化測試實戰-preview-1

買這商品的人也買了...

商品描述

本書以UI自動化測試技術為主線,測試方向主要涉及Web、App、Windows應用程序的UI自動化測試實現,實用自動化測試框架的實現過程,持續集成及分佈式測試的實現等實用技術知識體系。 全書共分為三部分,Web篇(第1~9章)圍繞頁面自動化測試中常用定位技術的講解,結合unittest框架構建實用自動化測試框架的實現,以實例驅動方式引導讀者快速上手Selenium+Python+unittest自動化測試。App篇(第10~15章)講解移動端常見UI層自動化操作常用技術,以當前較為流行的pytest框架為基礎,實現Appium+Python+pytest自動化測試的實現。框架篇(第16~20章)涵蓋自動化測試實施過程中主流的數據驅動、PO模式、CI實施、分佈式環境等內核技術。本書內容充實、邏輯嚴密,是一部自動化測試必備的案頭工具書。 本書適合對從事軟件測試工作的人,對軟件自動化測試技術感興趣的初學者,也適合自動化測試從業者對專項技術參考。對於大中專院較和培訓班的學生,本書更是學習時必備的一本教材。

作者簡介

胡勝強,華軟盛測評創始人兼CTO,“思課幫”IT教育品牌創始人,擁有15年互聯網從業經驗。
從開發入道,轉戰測試。薪火相傳,希望自己的技術能夠幫助更多後來者。
  

單鏡石,軟達啟航聯合創始人兼CTO,曾任職方正科技、新大陸等多家IT企業,資深測試達人,熱衷分享測試方法和成果。
  

李睿,軟達啟航聯合創始人兼CEO,北京航空航天大學軟件工程碩士畢業;從事軟件測試工作13年,兼修各種測試技術,軟件測試經驗豐富。

目錄大綱

目錄
Web篇
第1章Web自動化測試介紹
1.1UI自動化測試現狀
1.1.1手工測試的升級
1.1.2被測軟件的多樣性
1.1.3用戶體驗式測試
1.2UI自動化測試的優勢
1.2.1UI自動化測試的誤區
1.2.2適合做自動化測試的項目
1.2.3適合開展自動化測試的團隊
1.3主流UI自動化測試工具
1.3.1Selenium
1.3.2UFT/QTP
1.3.3Airtest
1.4UI自動化測試的終極目標
1.4.1以項目為核心打造測試框架
1.4.2以通用功能為核心打造平臺

第2章環境搭建及配置
2.1Python的安裝及配置
2.1.1Python優勢
2.1.2Python的安裝
2.1.3Python的配置
2.2PyCharm的安裝及配置
2.3第一個PyCharm項目
2.3.1PyCharm項目創建
2.3.2Python腳本創
2.3.3運行腳
2.4PyCharm 的常用配置
2.4.1設置Python自動引入包
2.4.2設置“代碼自動完成”時間延遲
2.4.3設置編輯器“顏色與字體”主題
2.4.4設置縮進符為製表符Tab
2.4.5設置Python文件默認編碼
2.4.6設置代碼斷點調試

第3章Selenium及瀏覽器驅動的安裝配置
3.1Selenium的下載及安裝
3.1.1Selenium在線安
3.1.2Selenium離線安裝
3.2基於FireFox瀏覽器的驅動配置
3.2.1GeckoDriver驅動配置的下載與配置
3.2.2調用FireFox驅動測試
3.3基於Chrome瀏覽器的驅動配
3.3.1ChromeDriver驅動配置的下載與配置
3.3.2調用Chrome驅動測試
3.4基於IE瀏覽器的驅動配置
3.4.1IEDriverServer驅動配置的下載與配置
3.4.2調用IE驅動測
3.5第一個Web自動化測試腳本

第4章頁面元素定位的8種方法
4.1元素定位的重要性
4.2Selenium元素定位方法分
4.2.1新版本定位方法
4.2.2老版本定位方法
4.36種基本元素定位方法的實現
4.3.1ID定位
4.3.2NAME定位
4.3.3CLASS定位
4.3.4TagName定位
4.3.5LinkText定位
4.3.6PartialLinkText定位
4.4XPath元素定位方法的實現
4.4.1絕對路徑
4.4.2相對路徑
4.4.3模糊定位
4.4.4XPath表達式
4.5CSS元素定位方法的實現
4.5.1絕對路徑
4.5.2相對路徑
4.5.3模糊定位
4.5.4輔助定位表達式
4.6元素定位方法的選擇
4.6.1多元素定位方法的使用
4.6.2元素定位方法的適用場景

第5章WebDriver API初級應用案例
5.1獲取頁面屬性操作
5.1.1獲取頁面Title屬性值
5.1.2獲取頁面源碼
5.1.3獲取頁面元素文本信息
5.1.4獲取並設置當前窗口大小
5.2輸入操作
5.2.1輸入文本操作
5.2.2單選、復選框操作
5.2.3下拉列表操作
5.2.4復位操作
5.3鼠標操作
5.3.1單擊操作
5.3.2雙擊操作
5.3.3右擊操作
5.3.4鼠標拖曳操作
5.4鍵盤操作
5.4.1輸入操
5.4.2組合熱鍵操
5.4.3右擊菜單進行選擇操作
5.5執行JavaScript腳本操作
5.5.1JavaScript彈窗操作
5.5.2JavaScript輸入
5.5.3JavaScript滑屏操作
5.5.4JavaScript輔助操作

第6章基於Window自動化程序AutoIt應用
6.1AutoIt介紹
6.2AutoIt安裝與調試
6.2.1AutoIt下載與安裝
6.2.2AutoIt腳本編輯器
6.2.3Au3Info窗口信息工具
6.2.4腳本的編譯運行
6.3第一個AutoIt自動化腳本的實現
6.3.1腳本編寫
6.3.2生成可執行文件
6.3.3運行實例
6.4AutoIt腳本基礎語法
6.4.1變量類型、關鍵字、運算符
6.4.2條件與循環語句
6.4.3用戶函數與內置函數
6.4.4宏指令
6.5AutoIt應用案例
6.5.1Notepad案例
6.5.2Inputbox案例

第7章WebDriver API高級應用案例
7.1Handles(句柄)跳轉案例
7.1.1瀏覽器句柄切換實例
7.1.2百度首頁登錄實例
7.2浮動框定位操作案例
7.2.1搜索頁面下拉列表框實例
7.2.2地區定位下拉列表框實例
7.3Window彈窗操作案例
7.3.1文件上傳
7.3.2文件下載
7.4基於iframe框架的操作案例
7.4.1動態屬性定位
7.4.2郵箱登錄實例
7.5斷言相關操作案例
7.5.1斷言失敗截屏
7.5.2圖像對比斷言

第8章unittest框架的應用
8.1unittest介紹
8.1.1unittest框架的構成
8.1.2第一個unittest示例
8.2TestCase與TestFixture的應用
8.2.1用例的執行順序
8.2.2TestFixture的使用
8.3TestSuite的應用
8.3.1測試套件的創建
8.3.2discover執行更多用例
8.3.3批量執行用例
8.4TestRunner的應用
8.4.1斷言的使用
8.4.2裝飾器的使用
8.4.3生成測試報告

第9章Selenium與unittest框架的整合應用
9.1框架整體思路
9.2case模塊用例
9.3data模塊數據
9.4report模塊
9.5utils功能模塊
9.5.1數據讀取功能
9.5.2初始化目錄
9.5.3日誌記錄功能
9.6bin運行模塊

App篇
第10章App自動化測試介紹
10.1App自動化測試現狀
10.1.1測試工具的選取
10.1.2移動端軟件的多樣性
10.2Appium自動化測試工具
10.2.1Appium介紹
10.2.2Appium工作原理
10.3模擬器及手機投屏工具
10.3.1基於Android模擬器
10.3.2真機投屏工具

第11章移動端環境搭建及配置
11.1Appium的安裝與配置
11.1.1Node.js的安裝
11.1.2Appium的安裝
11.2Android環境的安裝
11.2.1Java的安裝與配置
11.2.2Android ADT&SDK的配置
11.2.3SDK Manager下載配置
11.2.4Android模擬器的安裝
11.2.5夜神模擬器
11.3第一個可運行App自動化腳本
11.3.1創建Android模擬器 
11.3.2啟動Appium
11.3.3自動化腳本編寫
11.3.4運行自動化腳本
11.4adb命令基
11.4.1查看設備命令
11.4.2安裝卸載命令
11.4.3文件推送命令

第12章App元素定位實戰
12.1uiautomatorviewer
12.1.1uiautomatorviewer介紹
12.1.2uiautomatorviewer定位
12.2Appium Inspector
12.2.1設置Appium
12.2.2開啟Inspector
12.2.3元素定位
12.2.4錄制操作腳本
12.34種屬性定位方法
12.3.1ID定位
12.3.2NAME定位
12.3.3CLASS定位
12.3.4accessibility_id定位
12.4XPath 定位方法
12.4.1基本元素定位
12.4.2元素模糊定位
12.4.3層級定位

第13章基於App的WebDriver API應用實戰
13.1屬性獲取操作
13.1.1控件文本獲取實例
13.1.2獲取控件可用性操作
13.1.3獲取控件是否選中操作
13.1.4獲取控件是否顯示操作
13.2手勢響應操作
13.2.1滑動操作
13.2.2單擊操作
13.2.3縮放操作
13.2.4滾動操作
13.2.5拖曳操作
13.3系統相關操作
13.3.1獲取屏幕大小
13.3.2推送文件
13.3.3截屏操作
13.3.4App安裝及檢測
13.4上下文切換操作
13.4.1切換上下文操作
13.4.2切回操作

第14章pytest框架的應用
14.1框架介紹及安裝
14.1.1pytest框架構成
14.1.2pytest的安裝
14.2使用流程
14.2.1pytest運行規則
14.2.2pytest測試用例
14.3Fixture的使用
14.3.1Fixture的優勢
14.3.2用例運行級別和優先級
14.3.3conftest.py的配置
14.4參數化
14.4.1參數化的實現
14.4.2參數組合的實現
14.5裝飾器與斷言
14.5.1裝飾器的使用
14.5.2斷言的使用

第15章Appium與pytest框架的整合應用
15.1框架整體思路
15.2Report模塊的整合
15.2.1Allure的安裝與配置
15.2.2運行日誌輸出
15.2.3運行結果輸出
15.3配置與數據模塊整合
15.3.1框架配置參數
15.3.2json數據的讀取
15.4case模塊的整合
15.5框架的運行維護

框架篇
第16章數據驅動測試應用
16.1基礎數據管理模塊的實現
16.1.1從文件中讀取測試數據
16.1.2將測試結果寫入數據文件
16.2基於ddt數據驅動的實現
16.2.1ddt的介紹及安裝
16.2.2ddt讀取測試數據
16.2.3ddt對不同數據源的管理
16.3基於Excel表方式數據管理模塊的實現
16.3.1Excel管理模塊的介紹及安裝
16.3.2Excel表數據的讀取
16.3.3Excel表數據的寫入
16.3.4模塊化基於Excel數據表的操作
16.4數據庫方式數據管理模塊的實現
16.4.1數據庫驅動的安裝調試
16.4.2基礎數據表及數據的初始化
16.4.3測試數據的讀取和寫入
16.4.4模塊化數據庫操作

第17章基於PO模式的自動化框架實現
17.1什麽是PO模式
17.2PO模式在UI自動化中的優勢
17.2.1三層模式
17.2.2模式示例
17.3定位元素層的實現
17.3.1實現思路
17.3.2實現過程
17.4操作層的實現
17.4.1實現思路
17.4.2實現過程
17.5業務層的實現
17.5.1實現思路
17.5.2實現過程

第18章PO模式的自動化框架實戰
18.1框架整體設計思路
18.2utils模塊的開發
18.2.1配置數據的存放與讀取
18.2.2日誌、截圖及測試結果的輸出
18.2.3驅動及全局變量的設置
18.3page模塊的開發
18.3.1通用方法的實現
18.3.2基礎頁面操作的實現
18.4action模塊的開發
18.5business模塊的開發
18.5.1業務流用例的執行和輸出
18.5.2運行方法的實現
18.6框架整體優化
18.6.1加入數據驅動
18.6.2優化運行方法
18.6.3其他優化項

第19章基於Jenkins持續集成的實現
19.1什麽是持續集成
19.2Jenkins的安裝配置
19.2.1軟件的下載
19.2.2JDK的安裝和配
19.2.3Tomcat的安裝和配置
19.2.4Jenkins的安裝和配置
19.3構建定時任務
19.3.1構建Project的基本流程
19.3.2構建基於Selenium腳本的項目

第20章Selenium Grid部署分佈式環境
20.1什麽是Selenium Grid
20.2多線程分佈式環境構建過程
20.2.1運行環境的準備
20.2.2Selenium Grid配置
20.2.3運行調試
20.3多瀏覽器兼容性運行測試
20.3.1單瀏覽器運行調試
20.3.2多瀏覽器運行調試
20.4分佈式自動化測試實例