一、安卓环境搭建以及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()