一、安卓環境搭建以及ANDROID_HOME環境變量
1、安卓環境搭建
Android Studio是開發Android應用程序的官方IDE,安裝Android Studio並且進去后會為您自動搭建安卓環境;記得一定要打開並且配置安裝環境,過程中會看到安裝路徑。
2、ANDROID_HOME環境變量
安裝成功后地址一般為/Users/您Mac的英文名/Library/Android/sdk/,我們把它寫入環境變量。
按i開始編輯,可以看到命令的下方出現了“--INSERT--”字樣,表示成功進入了編輯模式。
vim ~/.bash_profile # 配置ANDROID_HOME環境變量 export ANDROID_HOME="/Users/ptorch/Library/Android/sdk/" # 讓配置生效
source ~/.bash_profile
輸入完成后,按下“Esc”鍵,退出編輯模式。並在此時輸入“:wq”以退出並保存剛剛輸入的內容。
mac adb命令報錯“zsh: command not found: adb” 及配置 .zshrc
二、Mac環境Java搭建以及JAVA_HOME配置
1、Mac環境Java搭建
我們使用java -version查看是否安裝java,如果沒有安裝則使用brew安裝即可;windos的自己看一下自己的。
brew install brew
安裝成功后再使用java -version查看即可:
java version "1.8.0_211" Java(TM) SE Runtime Environment (build 1.8.0_211-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
2、配置JAVA_HOME環境變量
Java默認安裝的位置為/Library/Java/JavaVirtualMachines/下,您再根據安裝的版本一直找到Home。
vim ~/.bash_profile # 配置JAVA_HOME環境變量 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH # 讓配置生效 source ~/.bash_profile
三、安裝APPIUM
Appium我們直接 點擊前往官網點擊下載appium ,然后安裝后打開即可。
遇見,無法打開“XXXX”,因為Apple無法檢查其是否包含惡意軟件。怎么解決?
sudo xattr -rd com.apple.quarantine /Applications/Appium\ Inspector.app
回車!然后輸入電腦密碼回車即可(密碼輸入是看不見的,無視繼續輸入)
appium-inspector 移動應用程序等的 GUI 檢查器,(需要單獨安裝)Appium 服務器提供支持。
如果上面2步您配置好了則無需配置;如果您的配置不一樣則需要自己填入路徑。

四、安裝selenium和Appium-Python-Client
首先我們需要安裝selenium才能使用Webdirver;安裝方法如下:
pip3 install selenium
接下來需要安裝appium拓展包,否則會出現
from appium import webdriver ModuleNotFoundError: No module named 'appium'
我們需要安裝一下輪子:
pip3 install Appium-Python-Client
接下來我們就能跑起來項目了。
五、測試案例
1、設置手機開發者模式,並關閉手機的密碼解鎖,將手機和電腦連接,選擇支持傳輸文件。
mac電腦打開終端,執行adb命令,查看鏈接手機的設備號:
adb devices

手機先打開想要操作的軟件和對應操作頁面,mac電腦打開終端,執行adb命令,查看軟件包名和頁面信息:
查看apk包的版本號:
adb shell pm dump com.baidu.iknow | grep version
查看app軟件的啟動頁(注意在打開軟件的時候同步執行下面的命令):
adb shell dumpsys window | grep mCurrentFocus

腳本demo:
from appium import webdriver caps = {} caps["platformName"] = "Android" caps["platformVersion"] = "11.0.0" caps["deviceName"] = "XXXXXX" caps["appPackage"] = "com.XXXXX.XXXXX" caps["appActivity"] = "com.XX.XXX.XXX.XXXXX" caps["resetKeyboard"] = True caps["unicodeKeyboard"] = True driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) driver.find_element_by_xpath('XXXXXX').click() driver.quit()
