使用Robot Framework+Appium進(jìn)行自動(dòng)化

使用Robot Framework+Appium進(jìn)行移動(dòng)端UI自動(dòng)化

最近項(xiàng)目需要做移動(dòng)端自動(dòng)化,找到Appium,在網(wǎng)上搜了一大堆教程,很多都寫的很亂,自己摸索了一陣給弄出來(lái)了,所以想寫個(gè)教程記錄一下。

本人是使用mac做的,使用win的朋友可以參考一下,大體差不多。
先說(shuō)一下需要準(zhǔn)備的東西,因?yàn)槭腔赗obot Framework框架的,所以robot需要的東西都要裝上,robot第一個(gè)示例這里可以參考一下蟲師的博客


聲明

這里只說(shuō)到如何通過(guò)Appium實(shí)現(xiàn)UI自動(dòng)化的一個(gè)demo,進(jìn)階內(nèi)容下一期再說(shuō),需要安裝的內(nèi)容這里默認(rèn)已經(jīng)安裝好,安裝教程百度,這些比較容易查到

環(huán)境檢查準(zhǔn)備

打開命令行窗口,輸入adb,如果提示'command not found',需要設(shè)置adb環(huán)境變量

找到adb路徑

cd到user文件夾下,運(yùn)行

touch .bash_profile
open -e .bash_profile

在打開的窗口中加入

export PATH=$PATH:/xxx/sdk/platform-tools

關(guān)閉窗口,運(yùn)行命令

source .bash_profile

這時(shí)候再運(yùn)行adb -version就可以看到adb版本了

查看版本

這時(shí)候運(yùn)行adb devices查看鏈接的移動(dòng)設(shè)備,如果是使用模擬器會(huì)發(fā)現(xiàn)列表中沒(méi)有模擬器的設(shè)備信息,以本人使用的夜神模擬器為例,運(yùn)行如下命令即可

1.先到模擬器中打開開發(fā)者模式( 夜神模擬器:設(shè)置->關(guān)于平板電腦->點(diǎn)擊5次版本號(hào) 進(jìn)入開發(fā)者模式 )
2.右鍵點(diǎn)擊夜神模擬器的app,選擇顯示包內(nèi)容,進(jìn)入到MacOS文件夾中

進(jìn)入到MacOS文件夾

命令行cd到MacOS文件夾下,運(yùn)行命令

adb connect 127.0.0.1:62001

現(xiàn)在再運(yùn)行adb devices命令就能看到設(shè)備信息了,顯示如下:

查看設(shè)備信息

接下來(lái)看看Appium

打開我們下載的Appium,點(diǎn)開設(shè)置按鈕

設(shè)置Appium

Server Address設(shè)置為本地ip,端口號(hào)不變
Override Existing Sessions勾選上

設(shè)置設(shè)備信息

點(diǎn)開安卓小人,App Path設(shè)置為你需要測(cè)試的app在本機(jī)的地址
安卓版本選擇模擬器對(duì)應(yīng)的安卓版本

點(diǎn)擊Launch,出現(xiàn)下圖我們就可以進(jìn)行下一步了:

檢查運(yùn)行狀態(tài)

另外點(diǎn)擊上面聽診器按鈕可以進(jìn)行自檢,缺少組件會(huì)提示


Demo示例

在命令行運(yùn)行ride.py打開RIDE,像創(chuàng)建web測(cè)試項(xiàng)目一樣,我們創(chuàng)建一個(gè)android測(cè)試項(xiàng)目

新建一個(gè)測(cè)試項(xiàng)目

注意在測(cè)試套件里面導(dǎo)入AppiumLibrary包

導(dǎo)入AppiumLibrary

如果導(dǎo)入沒(méi)有問(wèn)題AppiumLibrary顯示為黑色

接下來(lái)寫第一條測(cè)試用例

第一條測(cè)試用例

偽代碼為:

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

其中幾個(gè)參數(shù)說(shuō)明一下
Open Application : 關(guān)鍵字
http://127.0.0.1:4723/wd/hub :/wd/hub為固定格式,前面我是指向本機(jī)地址
platformName : 平臺(tái)名稱
platformVersion : 平臺(tái)版本
deviceName : 設(shè)備名稱
app : 指向待測(cè)試app的路徑
之后還有兩個(gè)參數(shù):包名、Activity名字,可以省略

接下來(lái)我們先把a(bǔ)pk安裝到模擬器中,讓Appium跑起來(lái),然后跑我們剛才寫的這個(gè)用例

用例運(yùn)行結(jié)果

可以看到模擬器已經(jīng)把我安裝的apk啟動(dòng)起來(lái)了。

這個(gè)時(shí)候可能會(huì)遇到問(wèn)題,ride提示應(yīng)用沒(méi)有啟動(dòng)成功,Appium中報(bào)錯(cuò):

注意報(bào)錯(cuò)信息

這是因?yàn)榄h(huán)境變量沒(méi)有設(shè)置完成,找到我們之前的 .bash_profile文件夾

open -e .bash_profile

在打開的文件中寫入

export PATH=$PATH:/xxx/sdk/tools
export ANDROID_HOME=/xxx/sdk/

這時(shí)候再通過(guò)ride運(yùn)行我們的測(cè)試用例就可以成功打開應(yīng)用了。


兩點(diǎn)補(bǔ)充

第一次運(yùn)行robot framework進(jìn)行web-ui自動(dòng)化的時(shí)候可能會(huì)提示瀏覽器打開錯(cuò)誤,如果大家用的是chrome,一般來(lái)說(shuō)是因?yàn)閷?duì)應(yīng)的驅(qū)動(dòng)有問(wèn)題,大家可以先查看自己的chrome版本,然后去網(wǎng)上搜對(duì)應(yīng)的chrome的驅(qū)動(dòng),下載好之后,同樣在剛才的 .bash_profile 文件中添加上

export PATH=$PATH:/xxx/chromedriver #指向自己下載的chormedriver

就可以正常啟動(dòng)chrome了


在sdk-tools文件夾下可以找到uiautomatorviewer文件

雙擊打開,點(diǎn)擊設(shè)備按鈕

我們就可以看到如圖所示的界面,通過(guò)右邊的標(biāo)簽我們就可以很輕松定位到我們所需要的元素信息了


更多的API信息和操作會(huì)持續(xù)分享

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容