內(nèi) 容 提 要
《自動化測試 主流工具入門與提高》共5章,分別講解了開源的Web自動化測試工具Selenium,基于Java的壓力和接口測試工具JMeter,單元測試中的JUnit測試框架和JMock工具,用于移動端的自動化測試工具Appium,以及Appium測試框架的搭建。
本書適合測試人員和開發(fā)人員閱讀,也可供相關(guān)專業(yè)人士參考。
在成功培養(yǎng)了數(shù)萬名測試人才的基礎(chǔ)上,51Testing教研團(tuán)隊結(jié)合16年的教學(xué)實踐,精心打造了51Testing軟件測試經(jīng)典教材,旨在推動軟件測試行業(yè)的進(jìn)步,為中國軟件行業(yè)的發(fā)展貢獻(xiàn)綿薄之力。本書旨在講述主流測試工具的用法。本書介紹了開源的Web自動化測試工具Selenium,基于Java的壓力和接口測試工具JMeter,單元測試中的面向?qū)ο、JUnit測試框架和JMock測試框架,針對iOS和Android平臺的自動化測試工具Appium,以及Appium測試框架的實現(xiàn)。
本書內(nèi)容:
Selenium的配置方法和功能;
JMeter中的測試計劃、元件和常用監(jiān)聽器等;
使用JUnit測試框架和JMock測試框架進(jìn)行測試的方法;
Appium的部署、常用操作和使用Appium Inspector定位元素的方式;
Appium測試框架的搭建。
5lTesting軟件測試網(wǎng)是專業(yè)的軟件測試服務(wù)供應(yīng)商,為上海博為峰軟件技術(shù)股份有限公司旗下品牌,是國內(nèi)人氣非常高的軟件測試門戶網(wǎng)站。51Testing 軟件測試網(wǎng)始終堅持以專業(yè)技術(shù)為核心,專注于軟件測試領(lǐng)域,自主研發(fā)軟件測試工具,為客戶提供全球領(lǐng)先的軟件測試整體解決方案,為行業(yè)培養(yǎng)優(yōu)秀的軟件測試人才,并提供開放式的公益軟件測試交流平臺。51Testing軟件測試網(wǎng)的微信公眾號是“atstudy51”。
目 錄
第 1章 Selenium 1
1.1 準(zhǔn)備軟件 1
1.2 Selenium簡介 1
1.2.1 主要功能 2
1.2.2 各版本和系統(tǒng)之間的關(guān)聯(lián) 2
1.3 Selenium IDE的使用 3
1.3.1 Selenium IDE的安裝 3
1.3.2 Selenium IDE 4
1.3.3 Selenium IDE入門實例 7
1.4 Selenium WebDriver 11
1.4.1 Selenium WebDriver簡介 11
1.4.2 Selenium WebDriver的安裝和配置 12
1.4.3 Selenium WebDriver入門實例 16
1.4.4 javadoc簡介 19
1.4.5 WebDriver元素的定位 20
1.4.6 get()方法的實例 22
1.4.7 關(guān)于瀏覽器的操作方法 23
1.4.8 彈出窗口的切換方法 24
1.4.9 多個元素的選擇 27
1.4.10 單個元素的選擇 28
1.5 JUnit框架與WebDriver 30
1.5.1 JUnit 4 30
1.5.2 在Eclipse中JUnit 4的
使用 31
1.5.3 通過模擬鼠標(biāo)移動顯示懸浮的下拉窗體的實例 37
1.5.4 模擬鼠標(biāo)單擊事件 39
1.5.5 使用javadoc進(jìn)行查找 40
第 2章 JMeter 44
2.1 性能測試基礎(chǔ) 44
2.1.1 性能的定義 44
2.1.2 性能測試的概念 45
2.1.3 性能測試的分類 45
2.1.4 性能指標(biāo) 48
2.1.5 性能測試技術(shù)要求 49
2.2 JMeter概述 49
2.3 搭建JMeter環(huán)境 51
2.4 JMeter目錄結(jié)構(gòu) 53
2.5 JMeter的測試計劃及常用元件 53
2.5.1 測試計劃 53
2.5.2 線程(用戶) 54
2.5.3 測試片段 55
2.5.4 控制器 56
2.5.5 配置元件 57
2.5.6 定時器 58
2.5.7 前置處理器 58
2.5.8 后置處理器 59
2.5.9 斷言 59
2.5.10 監(jiān)聽器 60
2.6 腳本錄制方法 61
2.6.1 使用Badboy錄制 61
2.6.2 使用JMeter內(nèi)置的代理服務(wù)器錄制 64
2.7 JMeter中元件的作用域與執(zhí)行順序 70
2.8 JMeter的參數(shù)化設(shè)置 72
2.8.1 通過添加前置處理器參數(shù)化 72
2.8.2 通過CSV Data Set Config參數(shù)化 77
2.8.3 借助函數(shù)助手隨機(jī)參數(shù)化 79
2.9 設(shè)置JMeter集合點 80
2.10 設(shè)置JMeter檢查點 82
2.10.1 添加內(nèi)容檢查斷言 82
2.10.2 添加斷言持續(xù)時間 84
2.10.3 設(shè)置斷言結(jié)果大小 86
2.11 設(shè)置JMeter關(guān)聯(lián) 87
2.12 JMeter常用監(jiān)聽器 92
2.12.1 “圖形結(jié)果”監(jiān)聽器 92
2.12.2 “查看結(jié)果樹”監(jiān)聽器 93
2.12.3 “聚合報告”監(jiān)聽器 94
2.12.4 Summary Report監(jiān)聽器 94
2.13 在非GUI模式下運行JMeter 95
2.14 實例1:使用JMeter創(chuàng)建Web測試計劃 97
2.15 實例2:使用JMeter創(chuàng)建Web Service測試計劃 101
2.16 實例3:使用JMeter創(chuàng)建JDBC 測試計劃 105
第3章 單元測試 111
3.1 面向?qū)ο缶幊?111
3.1.1 什么是面向?qū)ο?111
3.1.2 類與實例 113
3.1.3 繼承 115
3.1.4 接口 116
3.1.5 多態(tài) 118
3.2 準(zhǔn)備被測程序 120
3.2.1 被測程序的功能 121
3.2.2 程序概要設(shè)計 121
3.2.3 程序代碼實現(xiàn) 122
3.2.4 開發(fā)測試代碼 127
3.3 JUnit測試框架 129
3.3.1 在Eclipse中配置JUnit 130
3.3.2 使用JUnit進(jìn)行測試 131
3.3.3 JUnit斷言機(jī)制 133
3.3.4 JUnit各類注解 135
3.3.5 JUnit假設(shè)機(jī)制 137
3.3.6 JUnit參數(shù)化 138
3.3.7 JUnit測試集 140
3.4 JMock測試框架 141
3.4.1 驅(qū)動和樁 141
3.4.2 Mock對象 142
3.4.3 JMock的特性 145
3.4.4 使用JMock模擬isNumber方法 145
3.4.5 使用JMock模擬類 147
第4章 Appium開發(fā) 150
4.1 搭建Appium環(huán)境 150
4.1.1 環(huán)境準(zhǔn)備 150
4.1.2 安裝JDK 150
4.1.3 下載與安裝
Android SDK 153
4.1.4 添加Android SDK環(huán)境變量 155
4.1.5 連接夜神模擬器 156
4.1.6 安裝Node.js 157
4.1.7 安裝Python 158
4.1.8 安裝Appium-desktop 159
4.1.9 安裝.NET Framework 160
4.1.10 檢查Appium環(huán)境設(shè)置 161
4.1.11 安裝Appium-Python-Client 161
4.1.12 第 一個腳本 162
4.1.13 Desired Capabilities 168
4.2 定位元素 172
4.2.1 使用Appium Inspector定位元素 172
4.2.2 使用UI Automator Viewer定位元素 173
4.2.3 使用id定位元素 176
4.2.4 使用Appium Inspector中的xpath定位元素 176
4.2.5 使用id和text定位元素 177
4.2.6 使用List定位元素 178
4.3 Appium常用操作 181
4.3.1 等待元素出現(xiàn) 181
4.3.2 toast元素的定位 181
4.3.3 Appium屏幕截圖 182
4.3.4 WebView定位 183
4.3.5 swipe方法 186
4.3.6 手勢定位 189
4.4 yaml 191
4.4.1 yaml支持的數(shù)據(jù)類型 191
4.4.2 讀取yaml數(shù)據(jù) 192
4.4.3 配置yaml 192
第5章 搭建Appium測試框架 196
5.1 準(zhǔn)備軟件 196
5.2 框架整體說明 196
5.2.1 Appium框架的組成 196
5.2.2 框架實現(xiàn)說明 197
5.3 Logging模塊 197
5.3.1 日志的級別 197
5.3.2 Logging模塊的組成 197
5.3.3 使用Logging模塊過濾輸出日志 198
5.4 PageObject設(shè)計模式 198
5.4.1 PageObject設(shè)計模式存在的問題及解決方案 198
5.4.2 基于PageObject設(shè)計模式封裝架構(gòu) 198
5.5 實現(xiàn)框架 199
5.5.1 建立項目文件夾 199
5.5.2 在base_view 下封裝常用方法 199
5.5.3 封裝常用元素和業(yè)務(wù)邏輯 200
5.5.4 對測試數(shù)據(jù)進(jìn)行封裝 203
5.5.5 對測試用例進(jìn)行封裝(以登錄功能為例) 203
5.5.6 批量生成報告 204
5.5.7 以批處理方式執(zhí)行測試 205
5.5.8 持續(xù)集成(以Jenkins為例) 205