本書分為3個部分進行介紹。在第1部分筑基篇中,主要有自動化測試概述、Robot Framework兩章的內容;在第2部分小乘篇中,主要有Web自動化測試、C/S自動化測試、數據庫自動化測試、接口自動化測試、RF內置測試庫、持續集成自動化測試、移動自動化測試總共七章的內容;在第3部分大乘篇中,主要有自定義你的RF一章的內容。全書的自動化測試主要指功能自動化測試。
1、涵蓋自動化測試中的大部分場景,內容充實,邏輯嚴密;
2、作者是RF中文社區的核心力量之一,書中有其對自動化測試的很多思考;
3、本書是一本測試實踐書,書中融入了大量的一線測試經驗,是人人必備的案頭工具書。
齊濤(網名:道長)
行業ID:qitaos
平安科技博學測試工程師、自動化測試工程師。目前負責平安科技任意門項目測試團隊管理和自動化測試技術方案調研及實施。2004年東北大學秦皇島分校市場營銷專業畢業,昏昏噩噩前兩年,后某日頓悟,轉行入測試,先后做過華為、飛利浦、平安科技等公司的測試外包,后轉入平安科技正式員工至今。期間經歷從手工測試,到QTP自動化測試,再到如今的Robotframework自動化測試。工作之余會參加一些敏捷之旅或測試大會的活動,分享Robotframework自動化測試的使用方法或心得體會,同時創建了Robotframework的微信公眾號,陸續了一些Robotframework自動化測試的相關內容,后續也會持續更新下去。目前主要致力于Robotframework自動化測試的深入研究和推廣,歡迎大家與我溝通交流
部分筑基篇
第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.1Windows平臺 8
2.2.2Mac平臺(Linux平臺可參考) 15
2.2.3pip安裝 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.4RIDE工具 28
2.4.1工具介紹 28
2.4.2菜單欄&工具欄 29
2.4.3工作區 45
2.5工程、測試套件、測試案例 49
2.5.1Project工程 49
2.5.2Test Suite測試套件 53
2.5.3Test Case測試案例 56
2.5.4三者關系 58
2.6測試庫 59
2.7Resource資源文件 65
2.7.1新建資源 65
2.7.2快捷菜單 66
2.7.3Settings設置項 66
2.7.4加載資源 67
2.7.5External Resources 外部資源 68
2.8變量和常量 71
2.8.1變量與常量基礎 72
2.8.2Scalar變量 79
2.8.3List變量 88
2.8.4變量轉換 97
2.8.5其他變量 104
2.8.6變量文件 104
2.9Keyword關鍵字 105
2.9.1用戶關鍵字 105
2.9.2傳入參數Arguments 108
2.9.3Return 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.1Selenium 152
3.2Selenium2Library安裝 153
3.3Selenium2Library常用關鍵字 155
3.3.1browserManagement 155
3.3.2Cookie 157
3.3.3Elements 157
3.3.4JavaScript 160
3.3.5screenshot 160
3.3.6waiting 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.2Selenium2Library-demo 170
3.6常見問題 177
3.7小結 178
第4章C/S自動化測試 179
4.1AutoIt 179
4.2AutoItLibrary安裝 180
4.3AutoItLibrary關鍵字 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.2DatabaseLibrary和cx_Oracle安裝 191
5.3DatabaseLibrary關鍵字 191
5.4測試案例 191
5.4.1Oracle數據庫 191
5.4.2sqlite3數據庫 193
5.5常見問題 194
5.6小結 195
第6章接口自動化測試 196
6.1接口測試 196
6.2requestsLibrary、requests安裝 197
6.3requestsLibrary關鍵字 197
6.4測試案例 197
6.5小結 201
第7章RF內置測試庫 202
7.1測試庫介紹 202
7.2BuiltIn 203
7.2.1Convert 203
7.2.2Verify 204
7.2.3Variables 205
7.2.4RunKeyword 206
7.2.5Control 207
7.2.6Misc 208
7.2.7強大的Evaluate 208
7.3String 212
7.3.1Convert 213
7.3.2Line 213
7.3.3String 214
7.4Collections 215
7.4.1List 215
7.4.2Dictionary 215
7.5OperatingSystem 216
7.5.1Env 216
7.5.2File 217
7.5.3Directory 217
7.5.4Path 218
7.6Process 218
7.7XML 219
7.8其他測試庫 220
7.9小結 220
第8章持續集成自動化測試 221
8.1Jenkins安裝與配置 221
8.1.1Jenkins簡介 221
8.1.2安裝Jenkins 222
8.1.3配置節點 223
8.1.4安裝插件 228
8.2Jenkins上執行RF自動化測試 230
8.2.1創建Job 231
8.2.2配置Job 232
8.2.3控制Job 239
8.2.4RF插件作用 240
8.2.5多配置Job 241
8.3小結 244
第9章移動自動化測試 245
9.1Appium介紹 245
9.2Android自動化測試 250
9.2.1模擬器安裝 250
9.2.2測試案例 253
9.2.3Android對象識別 256
9.3iOS自動化測試 257
9.3.1測試案例 257
9.3.2iOS對象識別 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.1Appium介紹
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,
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省心了。
本書作者是一位高水平的測試實踐家,在工作和學習中深刻理解了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 徐毅
學習中,挺好的
差評,半顆星也不想給。首先收到貨看到如下圖,被人切開過包裝,書還是破損的,我都沒計較,立馬申請退貨,當當客服態度還好,說兩天會有人上門取貨,結果快遞兩個周都不上門取貨,要不是中間打過電話催過兩次都沒人理。其次,原價53.3塊買的,退回到我卡上的錢只有47.17,不知道少的6塊錢哪去了,也沒個解釋,第一次遇到這么奇葩的快遞公司和網購,總之很失望
拿到書看了一下,之前在網上看過robot framework,這個看起來比較輕松,內容較淺。深入淺出,對初學者來說還是很不錯的。價格稍微貴了點。總體感覺還不錯。
對新手來說不錯
哈哈哈哈哈哈哈
很好用,基礎看是沒問題的
買的第二本,幫朋友買的,好評
幫公司買了一本,挺好用的
性價比高,包裝很好,繼續保持。
不錯的。幫別人買的。
贊!超贊!超贊!
不錯的入門書籍
快遞小哥冒著大雨送書,令我十分感動,贊一個!
物流挺快,內容還沒有看
學習zhong
被磨了。。。。。。。唉
跟大家講個笑話,我地址很詳細,當當還給我加了密,包裹上寫的如圖,好笑吧 哈哈哈哈,你這么可愛我喜歡
還好還好哈
送貨速度快,圖書質量好。推薦購買。
物流速度快,過幾天看看書的內容怎么樣
差的一逼,書是舊的,還被水浸濕了,氣死了,要不是著急用就退掉了,再也不來當當買東西了
挺不錯的,也適合新手系統的學習
對當當的物流真是無語O__O"…發貨不好好發,退換貨還耽誤大家的時間,誰愿意來回折騰呀。
包裝完好,速度快,很滿意!
買完就降價,內容確實很基礎,這個價格確實不值
1.為什么新書拆開包裝袋就看到了封面被筆畫了一道?2.當當的物流什么時候變成三天了,而且我在鄭州買的顯示鄭州倉庫出貨
跟在書城里看的書是一樣的.不錯.前晚下單,第二天上午就收到貨了,很喜歡這樣的物流,點贊!
很期待這本書,早就想買了,之前舊書,盜版書都買過,碰到有活動,就買了,很劃算,毫不猶豫就買了好多本,今年算是有事干了,真刺激!
雖然講得內容很基礎,但是很細致,也適合0基礎學習RF的人,如果是已經有個一些RF實用經驗的人,推薦直接看作者博客或者RF的源代碼學習。