基础环境准备(以下都是在Mac机上搭建的)
1.android sdk安装&配置
很完美的一个资源下载网:tools.android-studio.org,下载所需的包(我下的zip包直接解压即可)
adb环境变量配置,编辑文件:vi ~/.bash_profile(若没有此文件直接touch创建),android_home路径及sdk版本号按自己实际的填写
export ANDROID_HOME=/Users/sylcj1314/Downloads/SFT_Envir/android-sdk-macosx
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/build-tools/28.0.3
保存退出后,执行source ~/.bash_profile 重载即可生效
执行 adb --version,没报错即成功。
SDK升级,请参考配置(速度很快):https://www.cnblogs.com/huangjacky/p/4077982.html
2.安装python3.6(考虑到兼容,未用最近版本)
安装pyhton3.6.5版本:
brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
因mac自带python2.7 要默认使用python3,可编辑修改:vi ~/.bash_profile,添加对应的别名(查看安装路径which python/which python3,type python)
alias python="/usr/local/bin/python3"
alias python2="/usr/bin/python"
3.安装python单元测试框架pytest
pip install -U pytest
查看安装结果:pytest --version,不报错即成功
4.安装uiautomator2\selenium
pip install -U uiautomator2
pip install selenium
5.移动设备安装atx-agent(一个小黄车,安装成功最后是success)
python -m uiautomator2 init
6.安装控件定位工具
pip install weditor
7.安装opencv视觉库
pip install opencv-python或brew install opencv-python
8.tkinter截图工具(执行以下命令报错需要按提示修改对应文件里边的模块名)
执行命令会打开一个截图界面:python -m atx gui -s '设备名'
Tkinter 在py2和py3中的差别,使用以上命令报错时需要修改对应的导入库名称
修改以下tkgui.py文件里的如下内容(有提示报错的地方修改即可):
----py2---- ---py3---
Tkinter ---------------------------- tkinter
tkMessageBox ----------------- tkinter.messagebox
tkColorChooser ---------------- tkinter.colorchooser
tkFileDialog --------------------- tkinter.filedialog
tkCommonDialog --------------tkinter.commondialog
tkSimpleDialog ---------------- tkinter.simpledialog
tkFont --------------------------- tkinter.font
Tkdnd --------------------------- tkinter.dnd
ScrolledText ------------------- tkinter.scrolledtext
Tix ------------------------------- tkinter.tix
ttk -------------------------------- tkinter.ttk
Queue---------------------------queue
注释掉文件android.py里的如下引用 #from uiautomator import AutomatorDevice as UiaDevice
如果截图时报错(把对应Image.py里报错的语句注释掉即可 截个图异常判断用不上):