Now, the framework only works on usb connection, so simulator doesn't support(只支持真机设备)
- 该框架主要是用来实现iOS真机的UI自动化.
- 也可用来实现例如按键精灵的一些小程序.
##Features
- 更加快速的通信效率, 直接使用socket通信, 而非http.
- 无需担心设备没有连接上wifi等影响.物理层走的是USB数据线.
- 基于facebook的WebDriverAgent驱动进行开发.
- 基于OC语言, 可供广大iOS开发者方便的实现自动化UI, 提供App稳定性.
- 支持多机并发测试.
- 非侵入式框架, 无需在项目中嵌入.
##Update
- 改进了命令行功能, 使用WDUSBClient4CI进行命令行方式的调用.使用方式-2016-11-11
- 给WDElement添加了设置UISlider的方法, eg:
slider.sliderValue = 0.6
-2016-11-10 - 给UIPickerView添加了setWheelValues:value...接口, 用于设置选中的值-2016-11-09
- 优化了自动编译程序, 提供buildOnce.config文件, 首次运行客户端前, 需配置true来完成驱动编译-自动化编译配置步骤-2016-11-02
- 优化了monkey, 将monkey分离出驱动, 加入定时截图功能-2016-11-02
- 添加了自动化编译功能.-2016-11-01
- 更早的其他更新看这
##Next Step Will Do(下一步会做的)
- 添加自动登入功能.
- 库导入问题.
- 编译问题.
- 配置问题.
不懂得可以群里提问, 细节已经写得很清楚了,
QQ群: 114577285
- API(接口文档): https://github.com/sixleaves/WDUSBClient/wiki
- Classes(关键类属性介绍): https://github.com/sixleaves/WDUSBClient/wiki/Classes
- WD地址(建议用我的, 我会和facebook那边的框架保持同步, 并会添加新功能, 修复bug):https://github.com/sixleaves/WebDriverAgent
#将Client文件夹下的东西都拖到你的工程中。引入主头文件
#import "WDClient.h"
#Create Client(创建客户端)
NSString *udid = @"a49bcbd6a9d3b24b8f70b8adde348925a5bfac6e";
FBHTTPOverUSBClient *client = [[WDClient alloc] initWithDeviceUDID: udid];
#Start A App on real device(在真机上运行)
###first set the bundle id(先设置bundle id)
[client setBundleID: @"com.nd.www.TestAppForIOS"]
###next step, call startApp method(下一步, 调用startApp方法)
[client startApp]
目前支持iOS9, iOS10, 支持真机国行, 港版, 美版设备. 下面介绍一下具体的安装流程。希望有相应的问题, 给我提交issue, 尽量完善这个框架.
首先要注意两点
- 到我的github上clone下WDUSBClient.
- 在WDUSBClient里有一个WebDriverAgent, 使用这个就行.为什么不去Facebook官网下载呢?因为我提的一些代码还没有合并到他们那边.你下载facebook那边的驱动就可能会导致不能安装.(我会时时的和FB保持同步)
https://github.com/sixleaves/WDUSBClient
有安装git的在终端中输入, 即可完成下载.
git clone https://github.com/sixleaves/WDUSBClient.git
在配置之前, 先在苹果开发者账户后台配置好两个不同的AppID, 用于下面的证书签名配置. 配置WebDriverAgent(请到我的github上下载. 或者直接用工程里面那个更好)
我们需要为以下这几个TATGETS地方配置证书。如下图
以WebDriverAgentLib证书配置为例子.
先选中WebDriverAgentLib. 然后选General选项卡。再选择Signing下面的Team, 选择你在苹果注册的帐号名称.如下图。
而WebDriverAgentRunner的配置则比较特殊.需要选择Build Settings选项卡。
-
输入pack,如图,修改Product Bundle identifier。
-
输入sig, 如图将Code Signing Identity全都修改为iOS Developer。Development Team修改为你对应的帐号。
其它几个签名配置,差不多给以按照上面两种配置。大家依葫芦画瓢即可。
-
使用Homebrew安装carthage
brew install carthage
-
先在WebDriverAgent目录下执行下面这条命令构建依赖
./Scripts/bootstrap.sh
-
有问题的可以直接加群.
-
需要你先获取手机的udid。
-
WebDriverAgent的项目根目录。
如后将下面命令粘贴到终端, 并回车运行
xcodebuild -project /Users/admini/WebDriverAgent/WebDriverAgent.xcodeproj \
-scheme WebDriverAgentRunner \
-destination 'platform=iOS,id=a49bcbd6a9d3b24b8f70b8adde348925a5bfac6e' \
test
把project后面那一串路径换成你的路径。id后面的值替换成你的udid。
这是要重点介绍的, 为了让大家直观的看到效果。需要先将我工程里的demo跑到手机上。再运行WDUSBClient客户端。步骤如下
直接使用快捷键 CMD + R就可以进行编译。
编译到mac后就会启动WDUSBClient, 会自动启动手机上的测试程序。
先提供一个可以玩的版本给大家.很想把这东西做到完美。现在工程内还有很多需要重构的代码。后续会继续提供以下功能, 更多相关功能欢迎提供建议, 我们会综合考虑尽量加进去。
以完成的
- monkey测试.
后面要做的功能
- 脱离WDA.
- 集成录制工具
- 适配iOS 7, 8
- 集成性能分析工具
##更多的用处等待你的探索!!!
开源不容易, 如果觉得还不错的. 支持作者的开发, 可以支付宝赞助噢.