title: 玩轉(zhuǎn)Appium自動(dòng)化測(cè)試
date: 2016-08-13
categories: iOS
{% cq %}
前一段時(shí)間,項(xiàng)目里加入了自動(dòng)化測(cè)試.隧在我司各大ruby大神的結(jié)伴下,共同完成這個(gè)"鬼測(cè)試".
{% endcq %}
開讀之前你需要知道的
Appium是個(gè)什么鬼
Appium是一個(gè)移動(dòng)端的自動(dòng)化框架,可用于測(cè)試原生應(yīng)用,移動(dòng)網(wǎng)頁應(yīng)用和混合型應(yīng)用,且是跨平臺(tái)的??捎糜贗OS和Android以及firefox的操作系統(tǒng)。原生的應(yīng)用是指用android或ios的sdk編寫的應(yīng)用,移動(dòng)網(wǎng)頁應(yīng)用是指網(wǎng)頁應(yīng)用,類似于ios中safari應(yīng)用或者Chrome應(yīng)用或者類瀏覽器的應(yīng)用?;旌蠎?yīng)用是指一種包裹webview的應(yīng)用,原生應(yīng)用于網(wǎng)頁內(nèi)容交互性的應(yīng)用。
重要的是Appium是跨平臺(tái)的,何為跨平臺(tái),意思就是可以針對(duì)不同的平臺(tái)用一套api來編寫測(cè)試用例。
Appium環(huán)境搭建
先把一下環(huán)境裝好備用
- Java
- Command_Line_Tools (http://obh6cwxkc.bkt.clouddn.com/Command_Line_Tools_OS_X_10.11_for_Xcode_7.3.1.dmg)
- ruby (https://ruby-china.org/)
- brew (http://brew.sh/index_zh-cn.html)
- node (https://nodejs.org/en/download/)
- npm
- Appium (npm install -g appium 安裝即可)
當(dāng)然你也完全可以不用這樣安裝appium,直接用dmg安裝包also ok~
appium 官網(wǎng)
如果你嫌網(wǎng)速慢,也可以用我下載好的download
appium me
打開Appium 應(yīng)用程序,點(diǎn)擊3監(jiān)測(cè)一下環(huán)境

紅色框框代表iOS測(cè)試所需要的,綠色代表安裝成功

開戰(zhàn)實(shí)際項(xiàng)目開發(fā)
自動(dòng)化測(cè)試項(xiàng)目搭建
- .zip 是.app的壓縮文件,當(dāng)然你也可以直接用XXX.app (xcode編譯項(xiàng)目,Products目錄下有XXX.app)
- common 里包含著測(cè)試公用的.rb文件
- gemfile 所需的gem包
- spec 文件包含所有模塊的測(cè)試rb文件

模擬器運(yùn)行項(xiàng)目
配置appium
- APP路徑要對(duì)
- 設(shè)備模擬器和版本匹配要對(duì)
- 紅框內(nèi)必選(boudleID也可以不寫)

配置完點(diǎn)擊=> 問號(hào)(inspector) 彈出inspector 視圖元素檢查頁面




點(diǎn)擊完Record

對(duì)于如何編寫測(cè)試代碼,兩種方式,一種你可以直接在頁面區(qū)操作頁面,同時(shí)在代碼區(qū)生成測(cè)試代碼(此代碼是利用xpath遍歷定位元素,效率不高).另一種是用appium提供的定位元素方法編寫測(cè)試代碼(這里是appium的所有方法)
如果彈 不出此頁面,?你可以嘗試
- 更換server address : 127.0.0.1
- 檢查打包的.app文件是否為開發(fā)證書編譯
- 檢查當(dāng)前xcode的模擬器和當(dāng)前選擇的設(shè)備是否一致
- 如果還不行,請(qǐng)嘗試更換.app
.rb怎么寫?
可能有些小白讀到這里還是不知道該如何下手,這里我已經(jīng)基本的框架搭建完成,供大家小試.
appium demo
啟動(dòng)appium 測(cè)試
- 要 開啟服務(wù)
- 要 rspec 執(zhí)行命令
- 然后模擬器就會(huì)自動(dòng)開啟執(zhí)行你rspec里所有的.rb文件
總結(jié)
這里面的坑,還有很多.多去testhome里看看,appium提供的方法很多,這是一個(gè)要花費(fèi)很多時(shí)間去嘗試的經(jīng)歷.重要的元素定位方法,測(cè)試用例的編寫,ruby語言的了解,如果以上都完成了,那你就可以去了解如何用Jenkins部署項(xiàng)目自動(dòng)化測(cè)試了~~
資源鏈接
細(xì)心找找testhome里的資源,總會(huì)有你想要的.