利用ATX配合WDA进行图形识别+自动化测试
通过使用AutomatorX,配合WebDriverAgent,可以实现在非越狱的IOS设备上更简单的进行自动化测试。同样,Android设备一样受到支持。
相关工程
环境要求
Python3.5+
Brew Mac OS X 10.11+ IOS 10+ Android 4.0+
配置环境
以下操作基于已经创建了python3.5的VirtualEnv
通用
brew install homebrew/science/opencv
brew install pillow
pip install --upgrade --pre atx -i https://pypi.doubanio.com/simple/
pip install opencv_python -i https://pypi.doubanio.com/simple/
Android
Android需要安装ADB
brew install android-platform-tools
IOS
brew install npm
brew install carthage
brew install libmobiledevice
git clone https://github.com/facebook/WebDriverAgent.git
cd WebDriverAgent
./Scripts/bootstrap.sh
解决xcode的路径问题
sudo xcode-select -switch <path/to/>Xcode.app
WebDriverAgent签名
个人开发者账号签名,要注意安装之后在通用设置中设置授权证书为允许...
XCode打开WebDriverAgent工程,连接上真机
在Project中,把能看到的Targets的签名都签上
找到WebDriverAgentLib,在BuildSettings中,找到Code Signing Identity,把debug和release的签名都选择为Developer
XcodeBuild启动IOS调试
因为IOS10之后,无法进行远程调试,所以需要使用iproxy进行端口转发,如果多台机器调试,需要注意得到机器的UDID
idevice_id -l
进入到WebDriverAgent目录,启动调试
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'platform=iOS,id=设备UDID' test
iproxy 8081 8100 设备UDID
使用ATX连接Android
Python3下会报ANDROIDHOMEPATH的异常,所以要这么写:
import atx;
import os;
os.environ["ANDROID_HOME_PATH"] = "Path to adb folder";
d = atx.connect();
使用ATX连接IOS
d = atx.connect('http://localhost:8081', platform='ios');