(一) 簡介 Appium是一個開源的自動化測試框架,可以用來測試基於iOS、Android和Firefox OS平臺的原生和混合應用。該框架使用Selenium Webdriver,在執行測試時和Selenium server通信的是JSON Wire Protocol。Appium允許我們使用, ...
(一) 簡介
Appium是一個開源的自動化測試框架,可以用來測試基於iOS、Android和Firefox OS平臺的原生和混合應用。該框架使用Selenium Webdriver,在執行測試時和Selenium server通信的是JSON Wire Protocol。Appium允許我們使用,甚至擴展現有的Selenium Webdriver框架來構建測試腳本。
使用Appium,selenium是一定要安裝的 pip install selenium
(二) 需要配置的環境
操作系統WIN7/WIN10都行,其他沒試
1、 安裝JDK (JDK安裝就不說了,我的是1.8,其他版本的沒試過)
2、 安裝NODE.JS (appium是基於node.js實現的)
3、 安裝appium
4、 安裝Android SDK(用真機測試並且不使用appt、adb工具的話可忽略這步)
5、 pip install Appium-Python-Client
(三) 安裝node.js
https://nodejs.org/en/download/
運行一直下一步就行了,安裝完成後,path變數加上node.js的安裝目錄F:\Python\android\nodejs ,可以運行npm -version 看下成不成功
(四) 安裝appium
https://github.com/appium/appium-desktop/releases/tag/v1.6.1
下麵2個都可以,加web的應該是要聯網安裝的。一直下一步就行了,不需要配置什麼環境變數。
安裝完後直接啟動
(五) 安裝安卓 SDK
(1)http://www.androiddevtools.cn/ ,安裝文件EXE或壓縮包,下載其中一個
安裝完畢後,配置環境變數
新增系統變數: 變數名:ANDROID_HOME 值:F:\Python\android\android-sdk (自己SDK的安裝目錄)
只用appt、adb工具的話,運行SDK Manager.exe,把必須安裝的工具安裝就行了(啟動的時候SDK會預設選中,直接安裝就行了)。安裝完畢後,把環境變數配置好就行了,後面的都可以忽略。(我是直接用真機測試,模擬器運行APP各種問題)
path變數中增加 :%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\27.0.3;(這個27.0.3看自己的安裝目錄,不一定相同)
配置好後,可以在cmd中運行下 adb 和 aapt ,能用就OK
(2)https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm 下載haxm,下載好後直接運行安裝就行了(不用安卓模擬器可以不安裝,這個主要是解決安裝模擬器運行慢的問題)
(3)創建安卓模擬器
Android SDK manager中安裝需要的環境
Tools-Manager AVD啟動 AVD,或者直接點擊安裝目錄下的AVD Manager 啟動,創建一個模擬器,然後啟動 start。
(六) 示例
記得安裝 pip install Appium-Python-Client
這段代碼就是啟動博客園客戶端並關閉。暫時感覺appium的元素定位不太友好
1 from appium import webdriver 2 import time 3 desired_caps = { 4 'platformName':'Android', 5 #用真機的時候,這個參數deviceName沒什麼用,但是還是必須要有這個參數,值的話隨便填就行了 6 'deviceName':'HUAWEI', 7 'platformVersion':'7.0', 8 'appPackage':'com.rae.cnblogs', 9 'appActivity':'com.rae.cnblogs.activity.LauncherActivity', 10 'unid':'填寫真機unid的值,下麵說明怎麼獲取了', 11 'noReset':'true', 12 } 13 driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps) 14 time.sleep(3) 15 driver.quit()
https://appium.io/docs/cn/writing-running-appium/caps/index.html 這裡可以查看參數說明
用上面的代碼得安裝博客園的Android APP才行
(七)獲取package、activity、devicename、unid
通過appt工具獲取package、activity,cmd運行 aapt dump badging xxx.apk
獲取devicename、unid,cmd 運行 adb devices(記得手機開啟usb調試再運行這個命令) ,用真機的時候,下麵這個位置的東西就是UNID參數的值,使用模擬器的話就是deviceName參數的值