应用环境:
让Robotium在不连接PC的情况下,定时在手机上面自动运行
实现方法:
1.注册一个开机广播,然后开机广播发出之后,启动相应的ACTIVITY
2.在此Activity中添加一个提醒(AlarmManager),AlarmManager定时发送广播启动Instrumentation
操作步骤:
1.创建一个Android Junit Test项目
2.在AndroidManifest.xml的application中增加开机广播
<receiver android:name=".BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
3.BootBroadcastReceiver为接收开机广播的activity
public class BootBroadcastReceiver extends BroadcastReceiver {
static final String ACTION = "android.intent.action.BOOT_COMPLETED";
//接收广播
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION)){
Intent bootActivityIntent= new Intent(context,BootActivity.class);
bootActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(bootActivityIntent);
}
}
}
4.在AndroidManifest.xml
的application中增加启动的主Activity:
<activity
android:name=".BootActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
5.在BootActivity中增加
提醒,每天8:30定时执行AlarmReceiver.class
public class BootActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设定时间:8:30
Calendar calendar = Calendar.getInstance();
//calendar.add(Calendar.HOUR, 24);
calendar.set(Calendar.HOUR_OF_DAY, 14);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 00);
System.out.println("设下的时间:"+new SimpleDateFormat("yyyy-mm-dd HH:mm:ss").format(calendar.getTimeInMillis()));
Intent intent = new Intent(getApplicationContext(), AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.cancel(pendingIntent);
am.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),10*60*1000, pendingIntent);
}
@Override
protected void onPause() {
super.onPause();
finish();// 直接关掉
}
}
6.AlarmReceiver.class实现启动Robotium
public class AlarmReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
context.startInstrumentation(new ComponentName("androidManifest.xml.packagename", "android.test.InstrumentationTestRunner"), null, null);
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
手机app自动化测试robotium
Android自动化 Robotium 封装的小工具,简单修改就可以用
Android自动化测试之Robotium学习
Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android...
android 自动化 robotium 文档wiki 和docs 。com.robotium.solo
1、Robotium在APK(米聊)文件下进行java junit Test。 三、测试工具 1、米聊.apk (Package name: com.xiaomi.channel) 2、Eclipse。 3、插件:ADT (Android Development Tools) 4、SDK (Android SDK) 5、JDK 6.、...
刷机流程自动化robotium用例,能够直接在手机版刷机精灵上面运行的
初步接触Android自动化测试的测试人员很好的参考
APP自动化项目中,使用robotium框架的构思,搭建过程中的一些说明
这是我收集的android自动化测试— 有关于robotium的一些资料 包括自己整理的一些文档 共4篇。。 jar也包括在内。 最重要的是还有一个Demo程序包,其中包括两个程序,一个测试程序一个被测程序。。 5分绝对值得的,...
最全最新的Android自动化测试Robotium详细说明文档,学习Robotium必不可少的资料。
Android自动化测试工具,从连接app到自动测试界面控件元素,非常详细!官网例子
android-robotium-ant自动化测试框架搭建
自动化(automation),是指机器或装置在无人干预的情况下按规定的程序或指令自动进行操作或控制的过程。
android自动化测试工具robotium 3.1
在Android_Robotium自动化测试中导出Test_result
Android自动化测试框架Robotium的使用。原博客地址:https://blog.csdn.net/u010356768/article/details/100074730
该书系统的讲解了Robotium 从入门到远程控件,系最全面的一本Robotium 教程
手机自动化之Robotium--从入门到精通,非常实用
适用于初学者在Eclipse平台下运用Robotium建立起自动化测试框架