北京网站建设有哪些,口岸地区网站建设内容,网页生成二维码生成器,廊坊seo优化随着移动终端的普及#xff0c;手机应用越来越多#xff0c;也越来越重要。 App的回归测试用例数量也越来越多#xff0c;全量回归也越来越消耗时间。移动 APP自动化测试 的难点移动 APP的UI自动化测试长久以来一直是一个难点#xff0c;难点在于UI的”变”, 变化导致自动化…随着移动终端的普及手机应用越来越多也越来越重要。 App的回归测试用例数量也越来越多全量回归也越来越消耗时间。移动 APP自动化测试 的难点移动 APP的UI自动化测试长久以来一直是一个难点难点在于UI的”变”, 变化导致自动化用例的大量维护。 从分层测试的角度 自动化测试应该逐层进行。最大量实现自动化测试的应该是单元测试最容易实现也最容易在早期发现问题其次是 接口级测试 以验证逻辑为目的进行自动化由于接口的相对稳定自动化测试成本相对也可以接受自动化成本最大的便是 UI级自动化测试 然而 UI界面是直接反馈给用户的效果展示适度的尤其是BVT级的自动化测试也是非常必要的。为了摆脱这些需要引进一些自动化测试来协助我们。趁 现在 有空 我来 总结下 Android常用的几种自动化测试框架 的异同 使测试人员在选择自动化框架时有所参考Android 几种常用 自动化测试框架 对比1、Monkey是Android SDK自带的测试工具在测试过程中会向系统发送伪随机的用户事件流如按键输入、触摸屏输入、手势输入等)实现对正在开发的应用程序进行压力测试也有日志输出。实际上该工具只能做程序做一些压力测试由于测试事件和数据都是随机的不能自定义所以有很大的局限性。2、MonkeyRunner也是android SDK提供的测试工具。严格意义上来说MonkeyRunner其实是一个Api工具包比Monkey强大可以编写测试脚本来自定义数据、事件。缺点是脚本用Python来写对测试人员来说要求较高有比较大的学习成本。3 、 Robotium也是基于Instrumentation的测试框架主要针对某一个APK进行自动化测试APK可以有源码也可以没有源码功能强大缺点是对测试人员来说要有一定的Java基础了解Android基本组件不能跨App。4 、 Instrumentation是早期Google提供的Android自动化测试工具类虽然在那时候JUnit也可以对Android进行测试但是Instrumentation允许你对应用程序做更为复杂的测试甚至是框架层面的 是很多其它测试框架的基础可以在同进程中加载被测组件。它有很多丰富的高层封装使用者可以使用基于 instrumentation的其他框架避免过多二次开发量。但Instrumentation不支持跨应用导致基于instrumentation的框架都继承了这个缺点。5 、 UIAutomator是由谷歌提供的测试框架它提供了原生Android app和游戏的高级UI测试 。 基本上支持所有的 Android事件操作 与 Instrumentation 对比 它不需要测试人员了解代码实现细节可以用 UiAutomatorviewer抓去App页面上的控件属性而不看源码。基于 Java测试代码结构简单、编写容易、学习成本一次编译所有设备或模拟器都能运行测试能跨App比如很多App有选择相册、打开相机拍照这就是跨App测试。缺点是只支持 SDK 16Android 4.1及以上不支持Hybird App、WebApp。6 、 Espresso是Google的开源自动化测试框架。相对于Robotium和UIAutomator它的特点是规模更小、更简洁、API更加精确、编写测试代码简单、容易快速上手。因为是基于Instrumentation的所以不能跨App。7 、 Selendroid是一个基于Instrumentation的一个框架. 完全兼容Webdriver协议。 Selendroid 可以在模拟器和实际设备上使用也可以集成网格节点作为缩放和并行测试。8、Athrun是淘宝出的一个移动测试框架/平台同时支持iOS和Android。Android部分也是基于Instrumentation在Android原有的ActivityInstrumentationTestCase2类基础上进行了扩展提供一整套面向对象的API。9、Appium是一个开源的、跨平台的自动化测试工具这个框架应该是功能最强大的 下面我将详细介绍。Appium 的优缺点它的优点①开源②支持Native App、Hybird App、Web App③支持Android、ios、Firefox OS④Server也是跨平台的你可以使用Mac OS X、Windows或者Linux它的哲理是用 Appium自动化测试不需要重新编译App支持很多语言来编写测试脚本 Java、JavaScript、PHP、python、C#、Ruby等主流语言不需要为了自动化测试来重造轮子因为扩展了 WebDriver。WebDriver是测试WebApps的一种简单、快速的自动化测试框架所以有Web自动化测试经验的测试人员可以直接上手移动端自动化测试应该是开源的总结在 iOS部分是封装了UIAutomationAndroid 4.2以上是用UiAutomatorAndroid 2.3 ~ 4.1用的是 Instrumentation也就说Appium同时封装了UiAutomator和Instrumentation。 综合对比可以清晰地发现 Appium拥有了以上几大框架的所有优点跨App支持Native App、Hybird App、Web App还支持N种语言来编写你的测试脚本。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走