使用Robot Framework+Appium進行移動端UI自動化
最近項目需要做移動端自動化际跪,找到Appium商佛,在網上搜了一大堆教程,很多都寫的很亂姆打,自己摸索了一陣給弄出來了良姆,所以想寫個教程記錄一下。
本人是使用mac做的幔戏,使用win的朋友可以參考一下玛追,大體差不多。
先說一下需要準備的東西闲延,因為是基于Robot Framework框架的痊剖,所以robot需要的東西都要裝上,robot第一個示例這里可以參考一下蟲師的博客:
- JDK
- SDK
- Python(mac自帶2.7)
- Robot framework
- wxPython
- Robot framework-ride
- Robot framework-selenium2library
- Appium-Python-Client
- robotframework-appiumlibrary
- Appium
- 模擬器
聲明
這里只說到如何通過Appium實現UI自動化的一個demo垒玲,進階內容下一期再說陆馁,需要安裝的內容這里默認已經安裝好,安裝教程百度合愈,這些比較容易查到
環(huán)境檢查準備
打開命令行窗口叮贩,輸入adb击狮,如果提示'command not found',需要設置adb環(huán)境變量
cd到user文件夾下妇汗,運行
touch .bash_profile
open -e .bash_profile
在打開的窗口中加入
export PATH=$PATH:/xxx/sdk/platform-tools
關閉窗口帘不,運行命令
source .bash_profile
這時候再運行adb -version就可以看到adb版本了
這時候運行adb devices查看鏈接的移動設備,如果是使用模擬器會發(fā)現列表中沒有模擬器的設備信息杨箭,以本人使用的夜神模擬器為例,運行如下命令即可
1.先到模擬器中打開開發(fā)者模式( 夜神模擬器:設置->關于平板電腦->點擊5次版本號 進入開發(fā)者模式 )
2.右鍵點擊夜神模擬器的app储狭,選擇顯示包內容互婿,進入到MacOS文件夾中
命令行cd到MacOS文件夾下,運行命令
adb connect 127.0.0.1:62001
現在再運行adb devices命令就能看到設備信息了,顯示如下:
接下來看看Appium
打開我們下載的Appium辽狈,點開設置按鈕
Server Address設置為本地ip慈参,端口號不變
Override Existing Sessions勾選上
點開安卓小人,App Path設置為你需要測試的app在本機的地址
安卓版本選擇模擬器對應的安卓版本
點擊Launch刮萌,出現下圖我們就可以進行下一步了:
另外點擊上面聽診器按鈕可以進行自檢驮配,缺少組件會提示
Demo示例
在命令行運行ride.py打開RIDE,像創(chuàng)建web測試項目一樣着茸,我們創(chuàng)建一個android測試項目
注意在測試套件里面導入AppiumLibrary包
如果導入沒有問題AppiumLibrary顯示為黑色
接下來寫第一條測試用例
偽代碼為:
Open Application http://127.0.0.1:4723/wd/hub platformName=Android platformVersion=4.4.2 deviceName=127.0.0.1:62001 app=/Users/moooke/Desktop/bosch-debug.apk
其中幾個參數說明一下
Open Application : 關鍵字
http://127.0.0.1:4723/wd/hub :/wd/hub為固定格式壮锻,前面我是指向本機地址
platformName : 平臺名稱
platformVersion : 平臺版本
deviceName : 設備名稱
app : 指向待測試app的路徑
之后還有兩個參數:包名、Activity名字涮阔,可以省略
接下來我們先把apk安裝到模擬器中猜绣,讓Appium跑起來,然后跑我們剛才寫的這個用例
可以看到模擬器已經把我安裝的apk啟動起來了诱担。
這個時候可能會遇到問題拇派,ride提示應用沒有啟動成功界弧,Appium中報錯:
這是因為環(huán)境變量沒有設置完成,找到我們之前的 .bash_profile文件夾
open -e .bash_profile
在打開的文件中寫入
export PATH=$PATH:/xxx/sdk/tools
export ANDROID_HOME=/xxx/sdk/
這時候再通過ride運行我們的測試用例就可以成功打開應用了辣之。
兩點補充
第一次運行robot framework進行web-ui自動化的時候可能會提示瀏覽器打開錯誤,如果大家用的是chrome皱炉,一般來說是因為對應的驅動有問題怀估,大家可以先查看自己的chrome版本,然后去網上搜對應的chrome的驅動娃承,下載好之后奏夫,同樣在剛才的 .bash_profile 文件中添加上
export PATH=$PATH:/xxx/chromedriver #指向自己下載的chormedriver
就可以正常啟動chrome了
在sdk-tools文件夾下可以找到uiautomatorviewer文件
雙擊打開,點擊設備按鈕
我們就可以看到如圖所示的界面历筝,通過右邊的標簽我們就可以很輕松定位到我們所需要的元素信息了
更多的API信息和操作會持續(xù)分享