1. 程式人生 > >app自動測試-微信web-1

app自動測試-微信web-1

docs span copy lan 文檔 頁面 boot oca desktop

appium 是一個用於app自動測試的工具。目前支持測試iOS, Android, Windows上的app。(github: https://github.com/appium/appium)

其工作方式:在測試服務器上(可以是開發者的PC)安裝appium server,然後測試代碼通過使用 appium client和appium server通信,而appium server通過已安裝的驅動控制已經連接在server上的設備(手機或PC)。

本篇從安裝appium開始,到寫一個簡單的測試程序操控微信web頁面,作為一個簡單的自動測試樣例。

本篇用的機器為mac OS,但除了安裝appium server及驅動等在不同的操作系統上需安裝不同版本,測試方法及測試代碼並無不同。

1. 下載和安裝appium (server)

server有NPM版和desktop版,這裏下載的desktop版本。詳見 官方快速入門文檔(https://github.com/appium/appium/blob/master/docs/en/about-appium/getting-started.md) 。

啟動桌面版啟動後會進入控制臺界面,如圖:

技術分享圖片技術分享圖片

這裏僅測試iOS設備,所以僅需要iOS驅動。據iOS驅動主頁上所描述,appium1.6以上已經帶有iOS驅動。

2. 安裝 WebDriverAgent (https://github.com/appium/WebDriverAgent)

(1) 安裝Carthage

拉取源代碼(https://github.com/Carthage/Carthage), 進入源代碼目錄,執行 make install,編譯成功後,編譯生成的 carthage 會自動copy至 /usr/local/bin/

(2) 安裝npm,略過。

(3) 拉取WebDriverAgent,執行 ./Scripts/bootstrap.sh。

3. debug 微信裏的webview (WebDriverAgent 文檔: https://github.com/facebook/WebDriverAgent/wiki/Starting-WebDriverAgent)

(1) xcode打開 WebDriverAgent.xcodeproj,在xcode中執行菜單 Product -> Test。

啟動成功後,可以xcode的output的日誌中看到:

技術分享圖片

(2) 上面output中的 ServerURLHere->http://10.10.10.247:0<-ServerURLHere是inspector的URL,把該URL貼入瀏覽器執行。

但是端口0是有問題的,無法訪問的。遇到這樣的情況,可以在運行配置裏,把USE_PORT的配置去除,如果沒有該配置項,則會使用默認端口8100:

技術分享圖片

然後再次運行,就出現以下日誌了:

ServerURLHere->http://10.10.10.247:8100<-ServerURLHere

訪問 http://10.10.10.247:8100,失敗,此時安裝iOS的代理試試:

brew install libimobiledevice
iproxy 8100 8100

http://localhost:8100 訪問成功的話,可以看到狀態信息:

技術分享圖片

(3) inspector界面 http://localhost:8100/inspector

技術分享圖片

可以看到手機上此時的webview的截屏。

app自動測試-微信web-1