腾讯TMQ在线沙龙|Robotium自动化测试介绍

Robotium自动化测试介绍

活动时间:2016年9月29日 QQ群视频交流

活动介绍:TMQ在线沙龙第九期分享

本次分享的主题是Robotium自动化测试介绍。

想知道活动分享了啥吗?往下看吧!

活动嘉宾

嘉宾简介

陈航特,腾讯测试工程师,负责Android应用宝的UI功能自动化测试和接口自动化测试,有丰富的UI自动化实践经验,对Robotium有着较深入的研究,参与《腾讯Android自动化测试实战》编写。

分享主题

  1. 背景目的介绍
  2. Robotium框架介绍
  3. Robotium实践应用

问答环节

1、提问:业务流程比较复杂的功能,例如涉及数据库的数据更新的,如何设计自动化测试用例?

答:这里的数据库更新指服务端吧?针对服务端需要配置、更新类的用例,一种可以在服务端配合,通过白名单形式,即测试机访问到的总是指定的数据。

另一种在服务端开通修改数据库的接口,用例在需要修改数据库时,通过发送http接口请求完成数据库的更新操作。

2、如何拿到被测APK签名?

答:被测APK的签名文件一般存放于被测工程,需要找开发团队。

3、问题:Robotium有时抓取控件是上一层的,不是很稳定,有什么好的方法吗

答:获取控件,该控件如果在当前界面有唯一的资源id,那么通过id就可以获取。如果有多个id,则可以获取父节点中的控件,再往下获取。

如果当前界面显示了,但获取的仍是上一个界面的控件,需要看看等待时间是否合适,或者获取到控件后根据控件的是否显示、坐标等来过滤

4、问题:Robotium框架是否可以用于做录制回放工具,有什么好的思路?

答:可以的,Robotium官网就做有一个录制回放工具robotium-recorder,可以参考

5、混合应用怎么切换context

答:对于Robotium来说,是不需要切换context的,进入到Web界面后,就可以获取该Web界面的元素了。

6、如何在Robotium里使用junit4里的参数化测试,目前Android并不支持junit4

答:目前Android是支持junit4的,可以参考AndroidJUnit4及AndroidJUnitRunner。另外也可以通过自定义InstrumentationTestRunner,然后执行用例时通过adb shell am instrument命令行方式传参给用例。

7、提问:云测平台的自动化测试是否有用到robotium?

答:Robotium是基于Instrumentation模式的测试,也是应用比较广泛的一款Android端自动化测试框架,一般云测平台都会支持。以腾讯优测为例,就支持在云测平台中支持运行Robotium形式的自动化测试用例。

8、操作DOM元素时候,如何知道h5页面元素已经加载完成,能否用监听webview加载完成回调的方法

答:点击后可以加个循环等待,等待某个条件出现后则跳出这个循环等待,这个条件可以是判断有些特征的Web元素是否出现、判断webview的Progress进度条、webview是否加载完成等等,具体使用哪种方式做为判断条件可能得看具体场景。

9、刚才说的ROBOTIUM同时在多手机运行,需要指定devices吗?还是运行一个命令就在已连接的多台手机运行了

答:默认是在执行命令时,同时运行连接在同一PC上的所有手机,如果有额外需要,也可以通过修改Spoon在GIT上的源码自定义实现指定devices功能。

10、提问 如果是没有源码的情况下,测试类还是要继承ActivityInstrumentationTestCase2吗?看了下api24,这个类被抛弃

答:是的,继承于ActivityInstrumentationTestCase2,或者继承于其它的继承自InstrumentationTestCase的类,例如SingleLaunchActivityTestCase等等。

API24起,确实抛弃了ActivityInstrumentationTestCase2,官方API上推荐ActivityTestRule,这也是Android的一个趋势吧,把test相关的都以android.support工具包形式提供。

获奖名单

ID:宋振华--测试 (22****96)

ID:小狼--自动化测试 (576****67)

ID:刘若翘 -- 测试(113****140)

恭喜以上三位同学获得TMQ本次沙龙活动听众奖;

本次奖品是由TMQ 官方出品、本期嘉宾参与编写的《腾讯Android自动化测试实战》新书哦

原文发布于微信公众号 - 腾讯移动品质中心TMQ(gh_2052d3e8c27d)

原文发表时间:2016-09-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏全华班

分享一套内容信息管理系统(CMS源码版)

内容管理系统是一种位于WEB前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容管理解决方案重点解决各种非结构化或半结构化的数字资源...

7511
来自专栏程序员互动联盟

编程高手为啥都喜欢耍脚本?

脚本编程几乎在每一个平台上都存在,这是因为利用脚本常常会简化、加快很多批量处理的工作,它能实现很多传统编程语言的功能,但是对编写者却不需要关心什么编译器、解释器...

3485
来自专栏沈唁志

在WordPress中优化谷歌(AdSense)广告联盟

很多时候我们需要将某些内容在指定的页面中显示,比如将谷歌自动广告设置为不在首页显示,这些都可以通过修改代码来达到效果

1403
来自专栏理论坞

如何解决MAC软件出现程序已损坏的提示

一般情况下mac软件以dmg,akp和app后缀结尾,dmg只是类似ISO一样的光盘镜像,akp是安装程序,app是类似windows里可直接应用的绿色软件。这...

992
来自专栏向治洪

携程React Native实践

React Native(下文简称 RN)开源已经一年多时间,国内各大互联网公司都在使用,携程也在今年 5 月份投入资源开始引入,并推广给多个业务团队使用,本文...

3877
来自专栏编程

python高效之爬了B站再爬微博

全文简介 本文是用Python爬取微博移动端的数据。可以看一下Robots协议。另外尽量不要爬取太快。如果你毫无节制的去爬取别人数据,别人网站当然会反爬越来越严...

2448
来自专栏魏艾斯博客www.vpsss.net

宝塔面板网站502 Bad Gateway无法正常打开的解决过程

网友遇到宝塔面板 502 Bad Gateway 的情况,魏艾斯博客也是第一次遇到这个问题,经过一番设置后解决了,因为网络上此类文章不少,也都是各种折腾后的结果...

2.9K0
来自专栏小樱的经验随笔

Python爬虫笔记(一):爬虫基本入门

最近在做一个项目,这个项目需要使用网络爬虫从特定网站上爬取数据,于是乎,我打算写一个爬虫系列的文章,与大家分享如何编写一个爬虫。这是这个项目的第一篇文章,这次就...

3946
来自专栏美团技术团队

美团点评境外度假团队前端项目开发实践总结

前言 随着前端项目数量和规模越来越大,参与的人员也越来越多,如何在前端项目开发过程中保证优质的开发者体验和项目的可维护性,同时确保极致的用户体验将会是一个非常大...

4638
来自专栏知晓程序

小程序如何提交审核,并发布?| 小程序问答 #36

今天,知晓程序(微信号 zxcx0101)就来教你,如何在公众平台提交审核、发布小程序。

1783

扫码关注云+社区

领取腾讯云代金券