産品特色
編輯推薦
適讀人群 :本書適閤閱讀的人群很廣,基本上想做自動化測試的人都可以閱讀。本書希望用更多的實例來引導讀者上手,剛開始學習的讀者跟著做會比較好。本書涵蓋瞭在自動化測試中遇到的大部分場景,不但內容充實、邏輯嚴密,且圖文並茂、語言生動。對Robot Framework使用者來說,本書更是一部人人必備在案頭的工具書。 1、涵蓋自動化測試中的大部分場景,內容充實,邏輯嚴密;
2、作者是RF中文社區的核心力量之一,書中有其對自動化測試的很多思考;
3、《Robot Framework自動化測試修煉寶典》是一本測試實踐書,書中融入瞭大量的前綫測試經驗,是人人必備的案頭工具書。
推薦購買:
海報:
內容簡介
《Robot Framework自動化測試修煉寶典》分為3個部分進行介紹。在第1部分築基篇中,主要有自動化測試概述、Robot Framework兩章的內容;在第2部分小乘篇中,主要有Web自動化測試、C/S自動化測試、數據庫自動化測試、接口自動化測試、RF內置測試庫、持續集成自動化測試、移動自動化測試總共七章的內容;在第3部分大乘篇中,主要有自定義你的RF一章的內容。《Robot Framework自動化測試修煉寶典》的自動化測試主要指功能自動化測試。
《Robot Framework自動化測試修煉寶典》適閤閱讀的人群很廣,基本上想做自動化測試的人都可以閱讀。《Robot Framework自動化測試修煉寶典》希望用更多的實例來引導讀者上手,剛開始學習的讀者跟著做會比較好。《Robot Framework自動化測試修煉寶典》涵蓋瞭在自動化測試中遇到的大部分場景,不但內容充實、邏輯嚴密,且圖文並茂、語言生動。對Robot Framework使用者來說,《Robot Framework自動化測試修煉寶典》更是一部人人必備在案頭的工具書。
作者簡介
齊濤(網名:道長),__eol__行業ID:qitaos__eol__平安科技資深測試工程師、自動化測試工程師。目前負責平安科技任意門項目測試團隊管理和自動化測試技術方案調研及實施。2004年東北大學秦皇島分校市場營銷專業畢業,昏昏噩噩前兩年,後某日頓悟,轉行入測試,先後做過華為、飛利浦、平安科技等公司的測試外包,後轉入平安科技正式員工至今。期間經曆從手工測試,到QTP自動化測試,再到如今的Robotframework自動化測試。工作之餘會參加一些敏捷之旅或測試大會的活動,分享Robotframework自動化測試的使用方法或心得體會,同時創建瞭Robotframework的微信公眾號,陸續發布瞭一些Robotframework自動化測試的相關內容,後續也會持續更新下去。目前主要緻力於Robotframework自動化測試的深入研究和推廣,歡迎大傢與我溝通交流。
內頁插圖
精彩書評
本書作者是一位高水平的測試實踐傢,在工作和學習中深刻理解瞭Robot Framework在軟件測試中的應用,並總結瞭一套高效的學習理論和方法。這本書涵蓋瞭在自動化測試中遇到的大部分場景,不但內容充實、邏輯嚴密,且圖文並茂、語言生動。對Robot Framework使用者來說,本書更是一部人人必備在案頭的工具書。
——優酷土豆網搞基測試工程師 丁恒
Robot Framework(RF)是一款優秀的開源測試框架,它簡單易用、拓展性強,可以適用於各種各樣的被測物和測試場景。同時RF有著十分活躍的社區支持,從工具選型的角度來看,很值得花時間去研究。RF自身有著良好的設計,很多測試理念被巧妙地集成其中,因此測試開發工程師深入學習RF也會獲益良多。作者是RF中文社區的核心力量之一,也是RF的堅定實踐者。在本書裏,作者將多年一綫的測試經驗融入瞭對RF的詳盡介紹內容中。閱讀本書,讀者既可以快速掌握RF的具體知識,又可以學習到作者對自動化測試的很多思考。一舉兩得,何樂而不為呢?
——雪球直男測試工程師 劉曉光
在豆瓣的時候,也使用瞭一段時間的Robot Framework(RF)。記得剛入職豆瓣的時候,搭建RF的環境就坑瞭3天。搭建好以後就換瞭Mac,然後又是3天。看到道長把安裝過程寫得很詳細,於是覺得這本書的讀者好幸福呀,可以很輕鬆地安裝並且開始學習。RF的流行是因為很多人都為RF貢獻瞭力量,並且以Library的形式提供更加便捷的使用方式。本書還介紹瞭很多流行的Library,是一本業界良心的好書。
——豌豆莢資深測試工程師 羋峮
我在諾基亞網絡使用Robot Framework比作者早很多,但作者卻是編寫中文實用文章的很多人,同時積極普及知識、推動相關社區發展,如今更是將他的經驗總結成書,內容詳盡細緻,是初學者們非常適閤的入門書和參考書。
——大中華區敏捷及DevOps中心主管、IBM 徐毅
目錄
第一部分 築基篇
第1章 自動化測試概述 2
1.1 分層自動化測試 2
1.2 界麵自動化測試工具 3
1.3 自動化測試做到什麼樣算好 4
1.4 小結 5
第2章 Robot Framework 6
2.1 框架介紹 6
2.2 安裝指南 8
2.2.1 Windows平颱 8
2.2.2 Mac平颱(Linux平颱可參考) 15
2.2.3 pip安裝 19
2.3 第一個案例 19
2.3.1 打開RIDE 20
2.3.2 創建工程和測試套 21
2.3.3 創建案例 23
2.3.4 寫一行腳本 24
2.3.5 運行案例 25
2.3.6 查看運行結果 26
2.3.7 小結 28
2.4 RIDE工具 28
2.4.1 工具介紹 28
2.4.2 菜單欄&工具欄 29
2.4.3 工作區 45
2.5 工程、測試套件、測試案例 49
2.5.1 Project工程 49
2.5.2 Test Suite測試套件 53
2.5.3 Test Case測試案例 56
2.5.4 三者關係 58
2.6 測試庫 59
2.7 Resource資源文件 65
2.7.1 新建資源 65
2.7.2 快捷菜單 66
2.7.3 Settings設置項 66
2.7.4 加載資源 67
2.7.5 External Resources 外部資源 68
2.8 變量和常量 71
2.8.1 變量與常量基礎 72
2.8.2 Scalar變量 79
2.8.3 List變量 88
2.8.4 變量轉換 97
2.8.5 其他變量 104
2.8.6 變量文件 104
2.9 Keyword關鍵字 105
2.9.1 用戶關鍵字 105
2.9.2 傳入參數Arguments 108
2.9.3 Return Value返迴值 116
2.10 循環&分支 127
2.10.1 循環 127
2.10.2 分支 134
2.10.3 二者結閤 142
2.11 運行界麵 143
2.12 小結 149
第二部分 小乘篇
第3章 Web自動化測試 152
3.1 Selenium 152
3.2 Selenium2Library安裝 153
3.3 Selenium2Library常用關鍵字 155
3.3.1 browserManagement 155
3.3.2 Cookie 157
3.3.3 Elements 157
3.3.4 JavaScript 160
3.3.5 screenshot 160
3.3.6 waiting 160
3.4 測試案例設計 161
3.4.1 案例設計Step1 162
3.4.2 案例設計Step2 164
3.4.3 案例設計Step3 166
3.5 測試案例demo 168
3.5.1 使用demo前的準備 168
3.5.2 Selenium2Library-demo 170
3.6 常見問題 177
3.7 小結 178
第4章 C/S自動化測試 179
4.1 AutoIt 179
4.2 AutoItLibrary安裝 180
4.3 AutoItLibrary關鍵字 181
4.4 測試案例 182
4.4.1 計算器案例 182
4.4.2 結閤Selenium2Library處理對話框 183
4.4.3 結閤Selenium2Library處理上傳下載 185
4.5 小結 189
第5章 數據庫自動化測試 190
5.1 數據庫測試介紹 190
5.2 DatabaseLibrary和cx_Oracle安裝 191
5.3 DatabaseLibrary關鍵字 191
5.4 測試案例 191
5.4.1 Oracle數據庫 191
5.4.2 sqlite3數據庫 193
5.5 常見問題 194
5.6 小結 195
第6章 接口自動化測試 196
6.1 接口測試 196
6.2 requestsLibrary、requests安裝 197
6.3 requestsLibrary關鍵字 197
6.4 測試案例 197
6.5 小結 201
第7章 RF內置測試庫 202
7.1 測試庫介紹 202
7.2 BuiltIn 203
7.2.1 Convert 203
7.2.2 Verify 204
7.2.3 Variables 205
7.2.4 RunKeyword 206
7.2.5 Control 207
7.2.6 Misc 208
7.2.7 強大的Evaluate 208
7.3 String 212
7.3.1 Convert 213
7.3.2 Line 213
7.3.3 String 214
7.4 Collections 215
7.4.1 List 215
7.4.2 Dictionary 215
7.5 OperatingSystem 216
7.5.1 Env 216
7.5.2 File 217
7.5.3 Directory 217
7.5.4 Path 218
7.6 Process 218
7.7 XML 219
7.8 其他測試庫 220
7.9 小結 220
第8章 持續集成自動化測試 221
8.1 Jenkins安裝與配置 221
8.1.1 Jenkins簡介 221
8.1.2 安裝Jenkins 222
8.1.3 配置節點 223
8.1.4 安裝插件 228
8.2 Jenkins上執行RF自動化測試 230
8.2.1 創建Job 231
8.2.2 配置Job 232
8.2.3 控製Job 239
8.2.4 RF插件作用 240
8.2.5 多配置Job 241
8.3 小結 244
第9章 移動自動化測試 245
9.1 Appium介紹 245
9.2 Android自動化測試 250
9.2.1 模擬器安裝 250
9.2.2 測試案例 253
9.2.3 Android對象識彆 256
9.3 iOS自動化測試 257
9.3.1 測試案例 257
9.3.2 iOS對象識彆 260
9.4 小結 263
第三部分 大乘篇
第10章 自定義你的RF 266
10.1 修改Selenium2Library測試庫 266
10.2 編寫測試庫 270
10.2.1 測試庫分類 271
10.2.2 測試庫結構 271
10.2.3 測試庫命名 273
10.2.4 測試庫頭部 273
10.2.5 測試庫配置項 274
10.2.6 測試庫文檔 274
10.2.7 測試庫關鍵字命名 275
10.2.8 測試庫關鍵字參數 275
10.2.9 測試庫的參數 276
10.2.10 測試庫關鍵字返迴值 276
10.2.11 測試庫日誌打印 276
10.2.12 對測試庫做測試 277
10.2.13 發布測試庫 277
10.3 小結 279
結語 280
參考資料 282
精彩書摘
9.1 Appium介紹
Appium是Sauce Labs齣品的一個開源的自動化測試框架,可以用來測試iOS和Android平颱上的原生應用、移動Web應用和混閤應用。原生應用是指使用iOS和Android的SDK開發齣來的App;移動Web應用指的是使用移動瀏覽器訪問的應用,比如Appium支持iOS上的Safari和Android上的Chrome,或內置瀏覽器;混閤應用指的是通過WebView使得原生代碼內容和Web內容可以進行交互的App。
當然,最重要的是Appium是一個跨平颱的框架,它允許你在iOS和Android這兩個不同平颱上使用同樣的API來編寫自動化測試腳本,這樣提高瞭測試代碼的復用性。
前麵介紹Web測試底層用的是Selenium框架,其實Appium這裏也是封裝瞭Selenium的框架,其實就可以把移動App應用看作是一個網頁,然後通過Appium進行測試。
Appium結閤Robot Framework來做測試,需要先安裝好Appium。
有關Appium的安裝,如果你使用的是Mac平颱,可以參考如下網址中的文章的介紹:
https://testerhome.com/topics/1225
如果你使用的是Windows平颱,可以參考如下網址中的文章的介紹:
https://testerhome.com/topics/2376
這裏就不詳細介紹瞭。
安裝好Appium之後,需要再安裝兩個Python的測試庫,一個是Appium-Python-Client,另一個是robotframework-appiumlibrary。前者是用Python腳本來驅動Appium的,後者是基於Robot Framework實現的Appium庫,用到瞭前者實現的一些基礎框架。這兩個就類似於Selenium和Selenium2Library一樣。
相關下載地址:
https://pypi.python.org/pypi/Appium-Python-Client/
https://pypi.python.org/pypi/robotframework-appiumlibrary
推薦使用pip安裝。如果想要手動安裝,那就需要查看一下這個Library依賴哪些Library。查看方法是在下載地址把源碼包下載下來,解壓縮,通常會有一個目錄是“.egg-info”結尾的,它有可能在根目錄,也有可能在src裏麵,前麵的名字一般就是測試庫的名字瞭,比如Appium_Python_Client.egg-info。找到這個目錄後,目錄下麵會有一個requires.txt的文件,打開它就可以看到它依賴哪些Library及其版本瞭。
比如Appium-Python-Client依賴的是:
selenium>=2.41.0
enum34
而robotframework-appiumlibrary依賴的是:
decorator >= 3.3.2
robotframework >= 2.6.0, <= 2.8.7
docutils >= 0.8.1
Appium-Python-Client >= 0.5
mock >= 1.0.1
sauceclient >= 0.1.0
pytest-cov >= 1.8.1
pytest-xdist >= 1.11
pytest-pythonpath >= 0.4
當然,可能其中某個Library又會依賴其他Library,這就要具體地一個個看瞭,所以手動安裝是比較麻煩的事情,如果依賴比較少還可以,依賴多的時候就不如pip省心瞭。
在Appium安裝好之後,需要運行一下appium-doctor來檢查一下環境是否都配置好瞭。可以通過命令行運行,也可以通過單擊Appium客戶端界麵上的第3個按鈕(比較像醫生聽診器的那個),Mac版客戶端界麵,如圖9-1-1所示。
單擊此按鈕後,如果看到類似於下麵的信息,那就是配置正確瞭。如果有任何異常,會提示你要修復異常,比如缺少某些安裝包或者沒有配置環境變量等。
/Users/qitao >'/Applications/Appium.app/Contents/Resources/node/bin/node' '/Applications/ Appium.app/Contents/Resources/node_modules/appium/bin/appium-doctor.js'
Running iOS Checks
Xcode is installed at /Applications/Xcode-beta.app/Contents/Developer
Xcode Command Line Tools are installed.
DevToolsSecurity is enabled.
The Authorization DB is set up properly.
Node binary found at /usr/local/bin/node
iOS Checks were successful.
Running Android Checks
ANDROID_HOME is set to "/Users/qitao/Desktop/mobile/android/adt-bundle-mac- x86_64-20140321/sdk"
JAVA_HOME is set to "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/ Home."
ADB exists at /Users/qitao/Desktop/mobile/android/adt-bundle-mac-x86_64-20140321/ sdk/platform-tools/adb
Android exists at /Users/qitao/Desktop/mobile/android/adt-bundle-mac-x86_64-20140321/ sdk/tools/android
Emulator exists at /Use
Robot Framework自動化測試修煉寶典 下載 mobi epub pdf txt 電子書 格式