前言
最近,因為項目的物聯(lián)設(shè)備需要跟云端通信,需要接入手機APP。在這里記錄一些Android自動化過程的準備工作和踩坑。
一、環(huán)境安裝
方式一、公司自己的一鍵安裝
略
方式二、自己百度安裝
這個方法沒有從頭到尾去實踐,主要是電腦連接Android APP需要用到什么,就裝什么。目前想法是利用robotframework作為webDriver script,因此,python環(huán)境、ADB環(huán)境、JAVA環(huán)境、RF環(huán)境、Appium環(huán)境等等都得裝。簡單羅列過程:
- 安裝JDK。在www.orcale.com下載 java SE,安裝。
- 安裝Android SDK。在 developer.android.com下載 Get the Android SDK。
- 安裝Python。
- 安裝selenium。
- 利用Python pip 安裝robotframework-selenium2library robotframework-ride. AppiumLibrary
- 安裝 wxPython-4.0.7.post2-cp27-cp27m-win32.whl。
- 安裝appium-desktop-setup.exe(默認包含node.js).
- 安裝appium Client,在Appium-Python-Client下執(zhí)行 python setup.py install.
- 安裝AppiumDesktop(比appium自帶的桌面端好用的開源桌面端).
配置檢查: - 檢查SDK:java –version。
- 檢查node:node -v
- 檢測appium:appium-doctor
- 檢查服務運行:appium.cmd
- 確保環(huán)境變量都加好
二、運行
打開
用appium桌面端打開就行:

打開首頁
運行服務器:

運行
點擊右上角放大鏡:

放大鏡
我們只要把appium開啟來就行,通過RF腳本去操作手機端,操作過程日志都會顯示在第二張圖上。第三張圖是appium自帶的定位元素的功能。
三、元素定位
- 方法一、appium inspector
可以參考:http://m.itdecent.cn/p/0a19409c0d37 - 方法二、uiautomatorviewer
四、踩坑
- Appium運行報錯4.4W:
- 刪除SDK文件夾下面android4.4W。
- Appium運行報錯255權(quán)限錯誤等:
- 執(zhí)行腳本的activity需要先獲取一定的權(quán)限,可以考慮換一個activity開始,一般是打開APP的第一個頁面
- Appium運行提示服務被占據(jù):
- 重啟appium服務
- 關(guān)注手機是否跳出獲取unlock安裝的彈窗,是就點擊確定
- Click button點擊報錯(一般情況下xpath定位是可行的,但是有時候因為環(huán)境編碼不一致,無法利用xpath過濾器)錯誤代碼:TypeError: exceptions must be old-style classes or derived from BaseException, not unicode
- 換成click element 選擇過濾器為id,參數(shù)為id= 或者 name=
- Id對應的就是Nodedetail下的resource-id
- Id表現(xiàn)形式有幾種:比如update_left_button或者id=com.hikvision.sentinels:id/update_left_button均能夠表示ID
- Id和name對于node元素來說的唯一的標記,因此只需要選擇就能唯一定位,但是其他的屬性定位可能需要加上編號
- Click button點擊按鈕,根據(jù)按鈕名稱或當前界面按鈕數(shù)量的序號點擊,不使用控件id 使用這個關(guān)鍵字意味著要點擊的對象是一個按鈕 在iOS中的類名為UIAButton 在Android中的類名為android.widget.Button
- Uiautomatorviewer運行”Error obtaining UI hierachy問題:
- 使用程序被運行過了,重啟一下就好
- win10 下AndroidStudio無法連接真機:
- 需要禁用驅(qū)動程序強制簽名
- 右下角通知全部展開—所有設(shè)置—更新和安全—立即重啟—高級選項—點擊重啟—選擇7,等待重啟完成。
- 在設(shè)備管理下—便攜設(shè)備,若正常顯示連接的設(shè)備,則表示驅(qū)動安裝好了
- Android Studio中no module,無法運行APP:
- 構(gòu)建moudle 參考:https://blog.csdn.net/qiushisoftware/article/details/87395458
五、編碼
裝完環(huán)境、踩完坑,就可以利用RF的RIDE編寫代碼了,RF自帶的編輯器不怎么好用,可以配置eclipse使用。