选择UITesting自动化的几个理由

1、关于选用UITesting 作为自动化测试框架,考虑过一下几方面: (1)测试代码编写的成本 (2)是否可调式 (3)框架的稳定性 (4)测试报告(截图,代码覆盖率,…) (5)WebView的支持(很多App都用到了H5) (6)自定义控件的测试 (7)是否需要源代码 (8)能否需要连着电脑 (9)是否支持CI(持续集成) ....

2、从以上各方面对比UITesting Bundle功能后的结果: (1)代码编写成本略高,但对比正经的测试开发来说,很低了。 不需要关系具体的功能逻辑实现,只要有自己的UI自动化case,需要熟练掌握OC,需要了解xctest就可以了; (2)完全支持调试 (3)框架稳定,不需要再另外集成第三方库,不需要再担心更新Xcode以后不能使用第三方库; (4)有框架自己的截图,但是不能自己指定截图,需要通过其他途径获取代码覆盖率.... 关于自动化过程中的截图无法实现问题: 模拟器截图很方便,是因为模拟器没有真机的那种沙盒权限机制,可以随便写文件。但是我们实际在测试过程中,很少是用模拟器进行测试的 (5)支持WebView自动化测试 (6)支持自定义控件的测试,只有打开Accessibility属性 (7)必须需要源代码,并且另建Target (8)需要连着电脑,并且是Debug模式 (9)不支持CI(持续集成)

3、关于获取代码覆盖率的尝试 (1)XcodeCoverage:https://github.com/jonreid/XcodeCoverage 哼哧哼哧的一番折腾,终于在pod成功,并且在工程中配置工程,结果报错信息如下:

又是一顿查找: https://github.com/jonreid/XcodeCoverage/issues/40 发现这个问题至今未解决,果断放弃

(2)llvm-cov:官方文档 llvm是随Xcode一起安装的,不需要另外安装。如果遇到解析文件报错LLVM版本不对的,可以用Xcode-select --print-path看下生成文件时的Xcode路径和跑用例时用的Xcode是不是一个,如果不是,重新选择。 工程设置:

跑完case后,直接在terminal中执行以下命令(记得修改自己的目录):

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-cov report -instr-profile /Users/userName/Library/Developer/Xcode/DerivedData/xxx-fazrydnyhteyabchpbqfqcblmmxu/Build/Intermediates/CodeCoverage/Coverage.profdata /Users/userName/Library/Developer/Xcode/DerivedData/xxx-fazrydnyhteyabchpbqfqcblmmxu/Build/Intermediates/CodeCoverage/Products/Debug-iphoneos/xxx.app/xxx >/Users/userName/Desktop/llvm-cov.txt
复制代码

运行后在桌面上找到该结果:

转载于:https://juejin.im/post/5a40a9426fb9a0450d114f0d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值