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的解决方案

GigsGigsCloud(年付26美元)国际线路美国VPS主机

已经有一段时间没有听到Gigsgigscloud服务商的信息,这不今天看到商家有新增一款国际版线路的美国VPS主机,年付也是比较便宜的只需要26美元。线路上是接入Cogentco、NTT、AN2YIX以及其他亚洲Peering。这款方案的VPS主机默认的配置是1Gbps带宽,比较神奇的需要等待手工人工开通激活,不是立即开通的。我们看看这款服务器在哪里选择看到套餐。内存CPUSSD流量价格购买地址1...

欧路云(22元) 新增美国Cera线路VPS主机且可全场8折

欧路云(oulucloud) 商家在前面的文章中也有陆续介绍过几次,这不今天有看到商家新增加美国Cera线路的VPS主机,而且有提供全场八折优惠。按照最低套餐最低配置的折扣,月付VPS主机低至22元,还是比较便宜的。不过我们需要注意的是,欧路云是一家2021年新成立的国人主机商,据说是由深圳和香港的几名大佬创建。如果我们有介意新商家的话,选择的时候谨慎且月付即可,注意数据备份。商家目前主营高防VP...

创梦网络-四川大带宽、镇江电信服务器云服务器低至56元

达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...

robotium为你推荐
activity跳转android 两个activity之间是怎么实现跳转的createfile失败CreateFile失败,代码5拒绝访问(高分在线求助!!!)prisma安卓版prisma 安卓版本为什么不能使用网络视频下载器那些视频下载器比较全而且好用?oledbdatareader根据输入信息读取数据库中的数据,总是在执行OleDbDataReader reader = cmd.ExecuteReader()时通不过,ico监管新加坡代币ICO备案怎么做暴力破解rar对RAR压缩包进行解压时需要密码,使用暴力破解仍无法解码该怎么办?5e5e5e如何更改bootstrap navbar的颜色 03 Topics 03 Ruby China网络安全密钥网络安全密钥和wifi密码有什么区别sms是什么短信确认码是什么
香港服务器租用 VPS之家 注册cn域名 阿里云代金券 三拼域名 ibox官网 godaddy域名证书 qingyun 怎样建立邮箱 域名接入 美国免费空间 免费phpmysql空间 hktv 如何安装服务器系统 360云服务 空间登陆首页 外贸空间 备案空间 免费网络空间 睿云 更多