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

EdgeNat 新年开通优惠 - 韩国独立服务器原生IP地址CN2线路七折优惠

EdgeNat 商家在之前也有分享过几次活动,主要提供香港和韩国的VPS主机,分别在沙田和首尔LG机房,服务器均为自营硬件,电信CN2线路,移动联通BGP直连,其中VPS主机基于KVM架构,宿主机采用四路E5处理器、raid10+BBU固态硬盘!最高可以提供500Gbps DDoS防御。这次开年活动中有提供七折优惠的韩国独立服务器,原生IP地址CN2线路。第一、优惠券活动EdgeNat优惠码(限月...

ReliableSite:美国服务器租用,洛杉矶/纽约/迈阿密等机房;E3-1240V6/64GB/1TSSD,$95/月

reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...

Hosteons - 限时洛杉矶/达拉斯/纽约 免费升级至10G带宽 低至年$21

Hosteons,一家海外主机商成立于2018年,在之前还没有介绍和接触这个主机商,今天是有在LEB上看到有官方发送的活动主要是针对LEB的用户提供的洛杉矶、达拉斯和纽约三个机房的方案,最低年付21美元,其特点主要在于可以从1G带宽升级至10G,而且是免费的,是不是很吸引人?本来这次活动是仅仅在LEB留言提交账单ID才可以,这个感觉有点麻烦。不过看到老龚同学有拿到识别优惠码,于是就一并来分享给有需...

robotium为你推荐
素数算法求100以内的素数的算法excel大写金额在Excel中如何输入数字直接显示大写金额?pat是什么格式如何把JPG图片变为PAT格式图片?gas是什么意思gc是什么意思啊?动画分镜头脚本动漫脚本和分镜头的区别?懂的进particular教程AE的particular的particle设置flex是什么Adobe旗下的软件分别是干什么的?元宝汇热血传奇怎么冲元宝的飞信发信息要钱吗使用手机飞信人别人的手机飞信发短信要钱吗flv转aviflv格式的视频怎么转换成avi格式?
河南vps 快速域名备案 域名解析服务器 云网数据 buyvm 卡巴斯基试用版 网络空间租赁 七夕快乐英语 外贸空间 阿里云官方网站 美国凤凰城 qq金券 申请免费空间 lamp架构 netvigator 石家庄服务器 蓝队云 godaddyssl htaccess restart 更多