前世今生话iOS自动化测试实践与经验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

前世今生话iOS自动化测试实践与经验iOS自动化测试• 持续构建iOS应用• 自动化测试工具评估• Ynm3k功能简介持续构建iOS应用传统的测试发布流程code• DevCodingtest• Testertes9ngrelease• PMrelease原始的让你抓狂的流程发现问题• UED和PM无法在测试阶段无缝的介入• 编译打包的过程没有纳入测试管理• 测试人员很难建立被测app和版本管理工具中的版本号之间的关联关系• 整个流程需要更加容易执行,并且需要解放dev,让dev把更多的精力放在coding上。解决方案——工具化,自动化实际操作WaitThen实现方法• Jenkins+hockey步骤:1下载代码2使用Xcodeintegra9on生成ipa3把生成的ipa拷贝到hockey的目录下iOS自动化测试工具评估豆瓣需要测试工具的特点• 框架方面:标准的xUnit框架结构• UI识别:以扩展库的形式提供UI识别方法• 启动方法:需要有命令行启动方式• 测试结果:xml或者html格式结果,或者提供相关方法定制输出测试结果商业工具• DeviceAnywhere• QTP• ⋯⋯UnitTestTools• OCUnit• GTM• GHUnitAcceptanceTestTools(openSource)• UISpecFrank• KIFAcceptanceTestTool• UIAutoma9on(官方)• FoneMonkeyFoneMonkeyVSUIAutoma9onFoneMonkeyUIAutoma1on框架结构ui识别方式多样化命令行启动测试输出测试报告集成CIOCUnit无有有无有,支持至少2种方式有无UIAutoma9onAdvanced• Tuneup.js• JasminewithUIAutoma9on结论• UIAutoma9on官方提供,还提供了网络,内存等方面的监控。不满足框架的部分,我们可以改造,我们可以扩展。Ynm3k来了为什么是ynm3kYnm3k功能列表功能结构xUnit解决方案引入了YUItest详细说明可以使用testSuitetestcase等,并且可以使用YUItest的相关事件。ui识别原生的API引入了一个Finder,并且原生API定位方式,写法过于复杂。可以使用UIAutoma9on并且在语义表达方式不友好。Finder模仿selenium的接口形式,对ui识别的方法进行了封装。命令行启动测试原生支持,封装了一个更友好的shell脚本来完成这个工作测试结果xml格式输出gumentsTimeoutYUItestYUItest生成测试结果。并且由+performTaskWithPathArperformTaskWithPathArgumentsTimeout方法写成文件Monkey测试UIAutoma9onAPI组合使模仿androidMonkey写了一个做随用机健壮性测试的iOSMonkeyYnm3kDev现在开始使用ynm3k• 下载-‐-‐hXps://github.com/douban/ynm3k• 初始化环境-‐-‐shsetup.sh无需coding,即可Monkeytest• /robot4ios/u9l/iosMonkey.js设置并且运行:HelloYnm3kUILogTreeUIAutoTestUIAutoma9onAPIYnm3kAPI豆瓣电影实践豆瓣FM实践豆瓣阅读实践自动化测试的约定• TestCase和TestSuite约定:simpletest.jsdemotest.js自动化测试的约定• name属性• value属性(只有在控件为text的时候才有效,并且只要表示text属性就好)• Name属性的命名规则:1不重复2不要变化3只需要在被操作到的控件上添加就好,加入持续集成持续集成的问题• 开机以后第一次,命令行启动Instrument会要求输入密码。-‐-‐-‐-‐解决方案Tao测试的这边文章:关于Instrument远程执行自动化脚本模拟器页面卡住问题持续集成后gitcommit加入豆瓣• 移动设备开发工程师• QA工程师(高级移动测试工程师)• 更多豆瓣职位• team@douban.comQ&A您也可以通过以下方式找到我:豆瓣主页:hXp://:mijun@douban.comSina微博:@芈峮Thanks

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功