robotium本人最近在做关于手机应用的自动化测试,想请教目前在这方面有哪些实现自动化的工具,比如 Robotium,QTP

robotium  时间:2021-06-23  阅读:()

robotium判断是否有点击按钮

常见的Robotium测试的问题总结: 1、Robotium的测试类ActivityInstrumentationTestCase2继承了TestCase类,即robotiom的测试类是junit3的实例,并没有junit4的特征,比如通过annotate的方式来识别子类的新特征,没不能实现@beforeclass,@afterclass等特征。

只能通过写setup和teardown,以及test开头的测试用例的方式进行测试case书写。

2、有些button没有string,没有text,只能通过index来click这样很不直观,而且button的index并不是固定的,有可能随着 控件重新加载,顺序也有可能发生变化,无法保证测试结果。

查看了robotium源码,发现大多数click方法最终都是通过传入参数转成view,再调 用clickOnView,于是参照着写了一个通过button的ID来click的方法。

Button的ID需要查看测试对象的源码中获取。

比如导航中 就有菜单栏大多数据button就是这种类型的。

3、有的activity点击后不能获取焦点,可以通过另外的方式获取activity的内容,比如Activity act = solo.getCurrentActivity();获取当前的activity,然后通过act.findViewById的方式获取控件。

4、多个屏幕的情况,可以通过滚屏的方式滑动,solo.scrollToSide(Solo.LEFT),如果多屏属于一个activity,则不需要滑动也能运行case获取数据。

5、有时text view或者button的click方法会失效,咋办?答案是在被测程序的AndroidManifest.xml文件里加上这么一句:<supports-screens android:anyDensity="true"/>就行了。

唉,当时为了找到这个解决方法可浪费了俺不少时间啊,最后在官网上找到答案了。

6、如果要想在robotium的测试程序里读写SD card肿么办?答案是在被测程序的AndroidManifest.xml文件里加上<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>。

注意是在被测程序里加上,在测试程序本身的manifest文件里加会很坑爹的。

7、iew动态添加item如何判断添加成功。

可从添加前及添加后Item个 数判断,先确定添加item的属性,再通过相应的方法获取item。

比如添加一个item可能需要三个iew,那么通过 getCurrentTextViews(View)前后获取到的个数差就相差三个。

比如添加黑名单到黑名单列表。

(1)有的listView只有web,或者主要是文本,可以通过getItemAtPosition(i).toString()的方法获取第几行的内容。

solo.clickOnText(chooseProvPage.getListView().getItemAtPosition(i).toString()); (2)有的listView包含多个testView或者button,可以通过findViewById的方法得到某一行的一项的内容。

8、无法捕获Toast,这个有点不明白。

大概实验了一下,可以使用waitForText这个函数来捕获文字,这个方法返回值是布尔型的,所以返回true就是找到了。

9、结果判断 (1)waitForText 该方法适用于点击操作后需要一点时间才返回结果的结果判断。

比如联网操作,可以设置适当的延时,等待返回结果,判断结果更加正确。

(2)assertActivity 该方法适用于activity时,可以判断点击操作切换Activity是否正确,可以与waitfortext配合使用。

(3)searchText+assert 当有editText时,输入内容后,可通过searchText查找输入内容是否是预期结果,再将返回结果判断。

注:有些editText的内容无法通过searchText,原因暂时没找到。

比如:手动添加黑名单时的名称及号码的输入框。

八、Robotium项目的运行: 有两种方式,一种是通过eclipse;一种是通过命令行。

1、 eclipse Run as Android JUnit Test,可以跑整个测试工程,也可以跑单个测试用例。

2、命令行 adb install ****Test.apk adb shell am instrument testpackagename/android.test.InstrumentationTestRunner

robotium 怎么实现长按一定时间

常规的方式是不行的,因为跨进程了 调系统服务可以实现 方式1: private static final String END_CALL="service call phone 5"; private static final String CALL = "service call phone 2 s16 "; public static void EndCall(){ try

android studio怎么写robotium工程

楼主似乎没有用IDE…如果有eclipse的话右击工程,android tools,export signed apk,并使用和test同样的证书签名settings。

但是setting又是一个比较特殊的应用,换了自己的签名会挂掉(和系统的不一样了嘛),改包名吧,或者换个东西测试。

如果非要蛋疼地测试settings你得自己重做ROM,或者把原系统的几个jar掏出来一起编译,具体哪几个可以搜索systemui和frameworkres美化教程,原理一样的~

如何用robotium测试系统自带的应用

的自动化测试能力延伸到移动应用程序领域,例如 Jamo 、 DeviceAnywhere ; Robotium支持最火爆的Android平台; 可以考虑使用专门的手机自动化测试工具,例如Test...

本人最近在做关于手机应用的自动化测试,想请教目前在这方面有哪些实现自动化的工具,比如 Robotium,QTP

你说的这两个工具是目前最常用的了,此外还有TestQuest、mShell等等…… QTP的通用性比较强,适合各种平台,HP 并没有在 QTP 的安装包中提供针对手机应用的插件,但是 HP 的一些合作伙伴把 QTP 的自动化测试能力延伸到移动应用程序领域,例如 Jamo 、 DeviceAnywhere ; Robotium支持最火爆的Android平台; 可以考虑使用专门的手机自动化测试工具,例如TestQuest、mShell之类的 / 另外,QTP也有一些第三方的专门测试手机应用的插件,例如Jamo 、 DeviceAnywhere的解决方案

美国云服务器 1核 1G 30M 50元/季 兆赫云

【双十二】兆赫云:全场vps季付六折优惠,低至50元/季,1H/1G/30M/20G数据盘/500G流量/洛杉矶联通9929商家简介:兆赫云是一家国人商家,成立2020年,主要业务是美西洛杉矶联通9929线路VPS,提供虚拟主机、VPS和独立服务器。VPS采用KVM虚拟架构,线路优质,延迟低,稳定性强。是不是觉得黑五折扣力度不够大?还在犹豫徘徊中?这次为了提前庆祝双十二,特价推出全场季付六折优惠。...

HostYun 新增美国三网CN2 GIA VPS主机 采用美国原生IP低至月15元

在之前几个月中也有陆续提到两次HostYun主机商,这个商家前身是我们可能有些网友熟悉的主机分享团队的,后来改名称的。目前这个品牌主营低价便宜VPS主机,这次有可以看到推出廉价版本的美国CN2 GIA VPS主机,月费地址15元,适合有需要入门级且需要便宜的用户。第一、廉价版美国CN2 GIA VPS主机方案我们可看到这个类型的VPS目前三网都走CN2 GIA网络,而且是原生IP。根据信息可能后续...

Tudcloud(月付7.2美元),香港VPS,可选大带宽或不限流量

Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...

robotium为你推荐
中国学生网中国大学生在线邮箱怎么申请?ae序列号安装AE,序列号是什么意思?ico监管BTCB是什么?刷ip流量请问刷流量刷IP有什么用的!java程序员招聘Java程序员,一般招聘都要求些啥gas是什么意思gc是什么意思啊?gbk内码怎么查GBK内码?particular教程particular的用法在线操作系统TOMOS在线操作系统是什么?android_secure内存卡上.android_secure是什么意思
便宜的虚拟主机 sharktech diahosting cpanel 国外空间 空间服务商 qq数据库 中国电信测网速 阿里校园 重庆双线服务器托管 香港新世界中心 支持外链的相册 吉林铁通 华为云盘 cloudlink yundun 万网空间管理 国内域名 杭州电信宽带优惠 好看的空间 更多