Android7以上版本识别不到元素
解决办法:使用automation2 :automationName: uiautomator2
安装automation2:
在控制台输入: cnpm install appium-uiautomator2-driver
注:cnpm默认会安装在当前目录,在安装automation2时,需要切换到/usr/local/bin,然后再执行命令
Android8:INSTALL_FAILED_USER_RESTRICTED: Install canceled by user
开发者模式打开—>USB调试模式打开—>勾选上允许通过USB安装程序和允许通过USB调试修改权限或模拟点击
python命令获取已连接设备名称、版本、udid
# 获取已连接安卓设备的udid
udid = os.popen('adb devices').read() # 获取已连接设备列表
for item in re.findall(r"\n.*\t", udid): # 通过正则表达式获取到每一个设备udid,strip去掉udid前后的空格、换行
_udid = str(item.strip())
# 根据UDID获取设备名称
deviceName = os.popen('adb -s {} shell getprop ro.product.model'.format(_udid)).read()
print(deviceName)
# 根据UDID获取系统版本
platformVersion = os.popen('adb -s {} shell getprop ro.build.version.release'.format(_udid)).read()
print(platformVersion)
# 根据UDID获取手机厂商名称
device = os.popen('adb -s {} shell getprop ro.product.name'.format(_udid)).read()
print(device)
APP启动时报错:Encountered internal error running command: Error: JAVA_HOME is not set currently. Please set JAVA_HOME.
环境:Android7.0.1
automationName: uiautomator2
解决办法:
配置adb和build-tools的环境变量
参考:https://github.com/appium/appium-desktop/issues/161
mac shell脚本执行Python文件,提示:ImportError: No module named
问题原因是因为Mac系统自带Python版本为2.7,在shell脚本执行Python脚本时,会调用系统自带的Python版本。
解决办法:执行时指定Python版本
cd /python/file/path
python3.6 test.py
Mac获取iPhone手机的UDID
system_profiler SPUSBDataType | grep "Serial Number:.*" | sed s#".*Serial Number: "##