[老欧的经验]Robotium小经验

本文探讨了在使用Robotium进行Android应用测试时遇到的问题:应用卸载后测试脚本停止运行。通过分析Robotium原理及Android自带测试框架,提出了解决方案,并分享了相关代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[2014-06-19]

今天尝试卸载被测应用,发现只要应用被卸载就会直接报错,脚本停止运行.

这和Robotium的实现原理有本质关系.一旦应用都没了,整个模拟都结束了.需要更多了解一下Robotium的原理.其实就是Android自带测试框架的原理.


编写的脚本是清除被测应用的用户数据,就直接结束case了,导致结束时,直接报错

Test run failed: Instrumentation run failed due to 'Process crashed.'

脚本如下:

        solo.sleep(500);
		Log.d("Blue", "调用");
		Uri packageUri = Uri.parse("package:" + "packageName");
		Intent uninstallIntent = new Intent();
		uninstallIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
		uninstallIntent.setData(packageUri);
		getActivity().startActivity(uninstallIntent);
		Log.d("Blue", "完成");
		//目前没有找到更好的方法进行用户数据清楚,只好用最笨的方式用input发送点击
		solo.sleep(1000);
		method.execShell("input swipe 500 1400 500 300");
		solo.sleep(1000);
		method.execShell("input tap 540 742");
		solo.sleep(1000);
		method.execShell("input tap 800 1780");
		solo.sleep(1000);


想了想,也对, tearDown()里写着solo.finshOpenedActivities(),如果solo都没了,的确会出问题.

所以就加了一行

		method.execShell("am start -n packageName/activityName");		


不知道是不是这个原因,反正没再出问题.


转载于:https://www.cnblogs.com/oenai/p/3800025.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值