前言
目前,手机测试中App应用测试越演越烈。安卓由于系统开源,因此在APP自动化测试难度上相对低,ios系统资源有所限制。因此,在ios设备上进行自动化测试会面临无权限安装测试工具到ios设备上。
测试工具
tidevice是阿里的内部的一个小组用来做 iOS 自动化用的工具。这个工具是纯 Python 写成的,所以也是跨平台的。也就是可以在能跑起来 Python 的 Windows、Linux、Mac 上运行。但是,前提是手机已安装WebDriverAgent,并启动该服务,否则,无法使用。
提醒:
Windows:****下启动tidevice务必安装iTunes/爱思助手等工具连接设备后再进行调试
Linux/Ubuntu:安装libimobiledevice即可连接设备进行调试(待排雷)
weditor是编辑器能够提供辅助编写脚本,查看组件信息,调试代码等功能。
atxserver2-ios-provider 该项目基于WDA在ios设备上启动服务,然后,通过Weditor或其他工具进行调试运行。
总结上述工具,必须在手机上安装WDA(WebDriverAgent)才能正常使用。
WebDriverAgent安装
该方法是个人开发者权限下进行调试使用,因此,证书有效时间短,并且需要修改BundleID方式进行构建应用。
前期准备
需要设备:Mac OS(可通过虚拟机安装黑苹果)
编译工具:Xcode 10.0+
step1.拉取代码仓
从Appium或WebDriverAgent代码仓中拉取部署
git clone https://github.com/appium/WebDriverAgent.git
step2.修改WebDriverAgent
使用Xcode打开WebDriverAgent文件中的WebDriverAgent.xcodeproj
如何免费获得个人开发者注册
目前,根据官方最新的会员制度说明,没有免费的个人开发者注册通道。
位于符合资格地区的非营利组织、取得认可的教育机构和政府机构,如计划仅在 App Store 上发布免费 app,则可申请豁免其 Apple Developer Program 会员资格年费。Apple 将审核您的请求,并会联系您以告知请求是否获批。
符合资格的地区:澳大利亚、巴西、加拿大、中国大陆、法国、德国、以色列、意大利、日本、墨西哥、韩国、英国以及美国。
根据上述内容得知,没有个人开发者将影响App无法发布。在我们的日常测试工作上,我们很少涉及测试App发布(这是测试开发攻城狮可能需要用到)。BTW,每一个Apple ID都是一个未激活的开发者,因此,只需登录你的Apple ID,就能在项目中生成一个有效期为7天的证书。
因此,我们能通过这个方式进行操作。
Failed to register bundle identifier错误提示
解决方法在step3
No profiles for 'com.facebook.WebDriverAgentRunner.xxx' were found
给这个App的起个唯一的名
step3.证书设置
首先,确保你的apple账号已在apple developer上注册了(目前,只能在app上注册,尽量不要把自己的账号登录到测试机上注册,这容易注册失败,而且失败后无法恢复)
若不想付费,可跳过上述一步
点击Xcode-Preferences
进入界面生成证书-填写你在项目中需要用到的Apple ID,并点击右下方的Manage Certificatest,进入界面添加Apple Development证书即可
step4.电脑连接手机Run一下即可
Windows上使用WDA控制iphone
1.应用商店上下载iTunes或爱思助手
2.pip安装tidevice
3.通过tidevice启动wda