没看懂,你标题是自动化部署,内容看起来更像是部署步骤?
另外,如果 Jenkins 配置你也想放到你的代码库而不需要找运维配置的话,可以试下用 Travis YML Plugin 。
XCUITest 和 XCTest 虽然同是 XCTest 框架,但具体执行方式略有不同。
举个例子,应用有一个内部变量 a ,没有直接显示在界面中,XCTest 有办法获取到这个变量 a ,但 XCUITest 就不行。
XCUITest 支持对 iOS 的任意界面进行界面自动化测试,且运行环境是在被测应用外另外开一个进程执行。你可以理解成有点类似 UIAutomation 那样,在被测应用以外控制界面,只是 UIAutomation 做了强制检测,被测应用一旦退出就自动停止(我以前用 UIAutomation 做 monkey 测试的时候,由于发送指令速度过快,有时候被测应用已经闪退了它还会继续执行一两个事件才停止)。
WDA 的实现形式是自己做一个 app ,然后启动的时候是通过执行那个应用的 UI Testing Bundle 方式启动,并在启动完成后模拟按下苹果的 home 键回到桌面。由于前面提到它支持对任意界面进行自动化测试,所以只需要让它去启动你的应用(可以根据 bundleId 启动任意应用,包括苹果系统自带的),就可以控制你的应用界面了。
如果和 Android 的 UI 自动化测试框架进行类比的话,WDA 有点类似 UIAutomator。
既然来社区发招聘,麻烦还是遵循社区规范,使用 markdown 调整下格式吧。
#75 楼 @moxiaozhou crash 了 monkey 就不会继续跑了。因为底层用的是 UIAutomation ,只要被测应用的进程不在前台运行,就无法执行 monkey 。crashMonkey4iOS 也带有 crash 后自动重新启动应用重跑 monkey 的机制。
#74 楼 @junewang1990 不客气,感谢你才对,解决了一个问题~
标题和内容感觉有出入啊,这只是 UI 自动化工具合集,算不上 远程移动测试平台 吧。。。
你用的是 Titanium ?
#6 楼 @nancy2896 输入法有办法直接输入这个符号不?
这个是什么符号?
日志请使用代码块。
你看下文档,swipe 是怎么使用?我觉得是你对 swipe 的使用不正确。
另外,这个应该是 Appium 节点的,不要发到招聘节点,这次我帮你改了。
感觉来电、短信、闹钟这种中断安装的都是等价类吧,都属于系统中断。但从原理上说,这是系统负责的事情,感觉和 app 本身没有太大关系。
另外,确实如 @addison 所说,你的测试点偏表象了,有图标不代表安装就没问题,有图标后打开就闪退的也不能认为安装没问题。
具体控件名称可以给下不?用 Swift List View 去搜索,没找到什么有用的东西。
解析整个 xml ,每个节点变成 node 对象,然后递归从你这个元素节点开始找 node 的 parent 吧?
不过搞个绝对路径有什么意义?
直接用 UIAutomation 会出这个问题不?
Appium 会自动帮你开模拟器,不需要知道当前开的是哪个模拟器。
是这个原因?

不错,对于还没有养成测试习惯的公司或者团队来说参考意义很大。
#71 楼 @junewang1990 我用得不多,但我之前用得时候没遇到过。
你在它的 github 上问下它的作者?
#68 楼 @junewang1990 先确定下,你的 app 确实没有挂?再者,没看出这里和线程有什么关系。印象中 CrashMonkey4iOS 是通过 idevicedebug 命令唤醒 app 的,虽然是通过另外的线程启动,但应该和 app 切不回来关系不大。
最近都没怎么关注 WDA 了,之前它的开发者说 API 要改成遵循 WebDriver 的,不遵循的用类似 appium 的方式用私有 route ,但不知道现在进展如何。
python client 的话我后面找个时间重写一个吧,之前在公司写的现在我手上也没有了。。。