TMTSiOS框架简介分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
前面的章节中,对iOS 的应用特性,以及现有的一些自动化测试框架做了相关的介绍,针对这些特性,我们结合淘宝应用自身的需求,提供了一套支撑iOS 应用的功能自动化测试框架。 框架采用的是嵌入式测试思路,在应用的源码中嵌入测试代码,应用初始完成后生成测试对象,由测试对象完成自动化测试。 统一的控件管理、灵活的控件定位、简单的脚本编写是本框架特点。框架原理: 由于在iOS 中当前激活的应用程序只能有一个,所以我们的框架选择的是注入式框架,我们需要将一个测试对象放入到应用程序中,由测试对象来处理测试相关的事件。 在 iOS 应用生命周期里,应用在完成初始启动后,会进入运行循环中,等待处理系统接收到的外部触摸事件,因此最好的嵌入时机是在应用完成初始过程中。在应用初始化过程中, 我们加入测试对象创建,并在测试对象初始过程中读取测试脚本,在完成初始后运行测试脚 本。 测试对象根据测试脚本的描述,搜索需要操作的UI 元素,然后对该元素构造指定的操作事件,发送给应用的该元素进行处理,模拟用户的操作行为,从而校验应用的业务功能。 框架在应用的初始过程中(applicationDidFinishlaunching)插入了负责执行测试的测试对 象,在应用等待事件触发时,模拟了操作事件发送给应用进行处理。 框架的组成: 框架由 5 个模块组成:TBTestRunner、TBElement、TBOperator、TBTestLog、 TouchSynthesis 。 TBTestRunner:该模块是测试对象,负责初始化设置,以及测试指令的解析TBElement:该模块主要负责对操作控件的搜索,返回控件对象进行操作TBOperator:该模块主要负责对操作指令的执行,通过TouchSynthesis 模块的配合TBTestLog:该模块主要负责框架运行日志输出,以及运行截图 TouchSynthesis:该模块主要负责对touch 事件的模拟 框架运行机制: .在应用初始化时,生成测试对象 .测试对象在初始化时,读取测试脚本信息 .测试对象对测试脚本进行解析,执行里面的command .执行 command 时,搜索该command 对应的控件 .搜索完成后,在该控件上执行相应的操作 .一条 command 执行完成后,执行下一条command .整个脚本执行完成后,释放测试对象 TMTS 框架iOS 系统应用的解决方案,吸收了现有的iOS 应用自动化测试框架的思想,加入淘宝自己的方案思路,更好的支撑淘宝自身应用的特点,其中不乏一些创新的亮点,比如: 控件树、运行截屏等。 后续框架的发展,我们会考虑远程控制、数据处理、应用稳定验证、外部事件模拟等方向进 后续框架的发展,我们会考虑远程控制、数据处理、应用稳定验证、外部事件模拟等方向进 行完善,让框架使用不仅更加方便、简单,而且能更好的保证产品的质量,以及提高测试效率。

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档