android自动化测试

前言

最近学习android开发,想学习一些android测试相关的技能,所以在网上收集了一些android测试的资料。

今天收集了android自动化测试的一些资料。本文的出处如下:

作者:developerHaoz
链接:https://www.jianshu.com/p/05e6f6292692
來源:简书

一、概述

Android平台的自动化测试可以从两方面入手

  1. Android端的自动化测试框架
  2. 各大云测试平台
  • 腾讯优测云测试平台
  • 华为开发者联盟
  • 贯众云测试
  • Testin云测

测试的内容包括:

  • 兼容性测试:安装、启动、卸载
  • 功能测试:手势操作、功能验证
  • 稳定性测试:app是否容易出现闪退等现象,压力测试
  • 场景测试:模拟真实网路场景,2、3、4G、wifi网路的切换

上面介绍了android自动化测试的两个方向以及测试的具体内容,接下来谈谈他们之间的区别和优缺点。

  • android自动化测试框架

利用android端的自动化框架,可以通过代码完成相应的测试用例,尽量覆盖所有使用场景,让人工的重复性操作转化成脚本的自动化执行。但是对代码的要求能力较高,而且由于要覆盖太多的使用场景,所以很考验测试人员对APP的整体理解和把握,而且一般多用于UI测试,无法进行兼容性测试,毕竟收集有限。

  • 利用云测试平台的好处还是很多的,毕竟人家是专业搞这个的,所以很多你没考虑到的东西,别人都已经帮你集成到平台里面了。而且相对于 Android 自动化测试框架,各大云测试平台还能给你提供各种各样的机型,例如华为开发者联盟就提供了大部分华为和荣耀系列的手机,手机版本从 4.4 到 7.0 都有,看着这些优点是不是觉得美滋滋。缺点嘛,其实不多,就一个「收费」。这当然也能理解,毕竟人家也是要吃饭的,如果免费给你用,那还要不要人活了。

二、自动化测试框架

2.1 Espresso

它是Google针对Android平台开源的一款Android自动化测试框架,主要是用于Android APP UI自动化测试。

这里简单说下UI自动化测试:我们作为APP的使用者,要让机器模拟我们的测试过程,那么久需要针对我们的肉眼看到的那些界面,那些按钮,也就是UI组件进行相应的操作和结果正确性的验证。

比如说,作为用户我们并不关心某个网络请求返回值的具体数据是否正确,我们关心的是在界面看到我们想要看到的结果。因此,做UI自动化测试用户的时候,一个通用的设计思路就是:找到某个元素,做一些操作,检查结果,把自己当做用户,只关注我们能看到的东西。

Espresso毕竟是Google自己出的,优点还是很多的

  • 用Java来写代码,对android开发者也很友好

  • API很小,当然也会对扩展开放的

  • Espresso的测试跑起来那是相当的快(没有等待,没有睡眠)

  • Gradle和Android Atudio的支持

  • 更多 Espresso 的例子请戳:https://github.com/vgrec/EspressoExamples

2.2 UI Automator

UI Automator所运行的JUnit测试用户是有特殊权限的,这意味着测试用例可以跨越不同的进程,它提供了五种不同的类给开发人员使用:

  • com.android.uiautomator.core.UiCollection;

  • com.android.uiautomator.core.UiDevice;

  • com.android.uiautomator.core.UiObject;

  • com.android.uiautomator.core.UiScrollable;

  • com.android.uiautomator.core.UiSelector

不过,比较遗憾的是,UI Automator只能工作在API16或者更高级别的Android设备上,而且也没有办法直接访问Android对象。

2.3 Appium

Appium是一款移动的自动化测试框架,牛逼的地方在于支持IOS和Android原生和混生的移动Web应用程序。它内部使用的JSONWireProtocol通过Selenium的WebDriver,来与IOS和android应用进行交互。通过UI Automator和Seledroid支持Android,通过UI Automation支持IOS,上面这些话,看看就好了,反正我也不懂。

Appium最大的优点在于你几乎可以用任何一种编程语言,例如java、objective-C、JavaScript、PHP、Ruby)来编写Applium脚本而不必选择工具,兼容最重要的pigtail(Android 和IOS)而不必安装和配置设备适应测试等等。

三、云测试平台

3.1 腾讯优测云测试平台

拥有超过1000款测试终端,机型数量庞大,机子比较全。但是仅仅支持android系统,暂时不支持IOS系统。

不过收费蛮高。

3.2 华为开发者联盟(类推,xiaomi、OPPO有吗?)

优点:免费

缺点:只能测试华为的机子

测试主要包括:

兼容性测试:

  • 华为这边提供所有华为手机的测试

稳定性测试:

  • 安装、启动、注册登录、遍历、卸载
  •  crash、ANR、UI、功能异常
  •  提供问题上下截图和异常截图

3.3 Testin

Testin是国内较早涉及云测试领域的公司之一。Testin在云端部署了300多款1000多部测试终端,终端种类以及数量都比较全面,

该平台也是收费的。

作者:developerHaoz
链接:https://www.jianshu.com/p/05e6f6292692
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值