iphone7很闷骚的上市了,iOS10明目张胆的提示用户升级了,长得越来越像android了,抄webos抄的很嗨嚒,什么时候可以抄全呢?xcode8也默默的耕耘着,你们玩的这么嗨,作为观众的我却哭了,各大app应用商也忙着提交各种app更新来支持iOS10,场面异常激烈,快要控制不住了,我要报警了!介绍下悲剧看点:
1. 某天ios developer 急切的对我说ios 自动编译功能测试ipa失败了,求解决,纳尼?不科学呀,立马登上Jenkins服务器查看错误日志,哎哟我去,什么证书不对啦,引用代码不存在啦。。。各种错误,原来ios developer为了兼容ios10把自己的xcode升级到8了,还引用了好多只有xcode8才支持的类库,证书也分级管理了,Jenkins slave上的xcode还是小7,那咱就升级吧,好不容易升级后,竟然打**功了,并且成功的推送到蒲公英内测平台了,菊花一松,就想出去放放风,然而马桶还没捂热,手机就收到邮件提示了,自动化测试运行失败了,我古雷马啊。。。。
2. 自动化测试脚本这么健壮怎么可能,赶紧回去查看日志,一脸懵比xcodebuild [1mbuild[0m [4mKaishiDebug[0m
2016-09-23 16:11:26.349 xctool[40234:1493824]*** Assertion failure in__LaunchXcodebuildTaskAndFeedEventsToReporters_block_invoke(), /tmp/xctool20160411-73857-17y7ykv/xctool-0.2.9/Common/XCToolUtil.m:380
2016-09-23 16:11:26.350 xctool[40234:1493824] *** Terminating app due touncaught exception 'NSInternalInconsistencyException', reason: 'Got error whiletrying to deserialize event 'Build settings from command line:': The data isnot in the correct format.'那我就猜呗,这里说一下,为了快速打自动化测试用的ipa采用了xctool来快速打包,掐肉一算感觉xctool版本需要升级,brew upgrade xctool,哎哟不错哦,竟然真的升级成功了,然并卵,再细看日志,原来build setting文件也得改,代码里面的空指针还得消化掉,折腾了不知多久,都日出东方了,总算原来卡住的位置通过了,好鸡冻,立马出去压压惊,然而这下真哭了
3. 自动化测试代码执行真的失败了,获取不到设备,一大堆东西,看完日志已经吐血了,赶紧打开xcode的instruments看了下,automation不见了,这特么是几个意思,因为ios的自动化测试框架是基于uiautomation做的,彻底没救噜?不给活路喽,原来苹果不想带我们玩了,放弃了uiautomation的东西,让我吃颗82年的槟榔压压惊,幸福来的太突然(又要开始写新框架,打算基于xctest开搞),尼玛,笑着笑着就哭了,喂,幺幺零嚒?这里有人丢**,场面控制不住了,你们再不管管,观众都要疯了~~~~~之前有朋友说苹果是最不容易合作的公司,原来是酱紫?xcode8是故意取消automation的还是出bug了?替代品呢?还是靠自己最好!
还有接着吐槽下把Jenkins slave搭在mac os上真的是个操蛋的方案,大家都说mac os是被阉割的unix,但是又不得不用,谁让你要用xcode呢,但是你特么动不动就失联是几个意思?master经常呼叫不到你,动不动就要重启你一下才能保持通话,还真是相当之任性啊。
ios自动化测试,且行且珍惜,一路顺风吧,android自动化测试,且做且行医一路平安吧!
悲剧在未来会有笑点么?有可能喜剧结尾?未完待续,我期待!