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

iON Cloud七月促销适合稳定不折腾的用户,云服务器新购半年付8.5折,洛杉矶/圣何塞CN2 GT线路,可选Windows系统

iON Cloud怎么样?iON Cloud今天发布了7月份优惠,使用优惠码:VC4VF8RHFL,新购指定型号VPS半年付或以上可享八五折!iON的云服务器包括美国洛杉矶、美国圣何塞(包含了优化线路、CN2 GIA线路)、新加坡(CN2 GIA线路、PCCW线路、移动CMI线路)这几个机房或者线路可供选择,有Linux和Windows系统之分,整体来说针对中国的优化是非常明显的,机器稳定可靠,比...

raksmart:年中大促,美国物理机$30/月甩卖;爆款VPS仅月付$1.99;洛杉矶/日本/中国香港多IP站群$177/月

RAKsmart怎么样?RAKsmart发布了2021年中促销,促销时间,7月1日~7月31日!,具体促销优惠整理如下:1)美国西海岸的圣何塞、洛杉矶独立物理服务器低至$30/月(续费不涨价)!2)中国香港大带宽物理机,新品热卖!!!,$269.23 美元/月,3)站群服务器、香港站群、日本站群、美国站群,低至177美元/月,4)美国圣何塞,洛杉矶10G口服务器,不限流量,惊爆价:$999.00,...

AlphaVPS(€3.99/月)VPS年付15欧,AMD EYPC+NVMe系列起

AlphaVPS是一家保加利亚本土主机商(DA International Group Ltd),提供VPS主机及独立服务器租用等,数据中心包括美国(洛杉矶/纽约)、德国、英国和保加利亚等,公司办公地点跟他们提供的保加利亚数据中心在一栋楼内,自有硬件,提供IPv4+IPv6,支持PayPal或者信用卡等方式付款。商家提供的大硬盘VPS主机,提供128GB-2TB磁盘,最低年付15欧元起,也可以选择...

robotium为你推荐
身份证系统电子身份证如何办理离线包离线地图,离线导航包有什么区别财务系统软件免费财务软件有哪些?短信营销方案中秋节,国庆节短信营销方案excel大写金额EXCEL金额大写renderpartialYii中render和renderPartial的区别代发邮件我想做邮件代发,怎么做效果好?pat是什么格式怎么将自己做的PS图片保存为PAT格式?上行宽带上行宽带和下行宽带代表什么?comexceptionapro exception是什么意思
网通服务器租用 江西服务器租用 花生壳免费域名 阿里云搜索 香港主机 rak机房 gomezpeer 商家促销 网盘申请 魔兽世界台湾服务器 华为网络硬盘 上海域名 帽子云 免费个人空间 cdn加速原理 web服务器安全 带宽租赁 cxz 中国电信测速网站 华为k3 更多