完善测试框架-手机测试Robotium实战教程(4)

发表于:2015-12-15 10:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:杨志伟    来源:51Testing软件测试网原创

  Zenmele 6.1  编写抽象父类
  为了可复用、更加便捷地编写以后的自动化测试用例,需要编写抽象父类,供后面的用例继承,理想的情况是,每个自动化测试用例只要继承了抽象父类,就自动完成唤醒手机、解锁、登录等一些前置动作,然后主要将精力集中于编写具体的自动化步骤。
  新建一个Utils包,用来存放一些工具类,在src下单击鼠标右键,在弹出的菜单项中选择New→Package选项,如图6.1所示。
  
图6.1
  新建完成后,在这个包下面新建一个Util类,在这个工具类中编写唤醒和解锁设备的方法如下。
package com.example.todolist.test.utils;
import android.app.Instrumentation;
import android.app.KeyguardManager;
importandroid.app.KeyguardManager.KeyguardLock;
import android.content.Context;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.test.InstrumentationTestCase;
import android.util.Log;
publicclass Util {
/**
* 唤醒设备的方法
* @param owner
* @return
*/
publicstaticWakeLock wakeScreen(InstrumentationTestCase owner) {
PowerManager pm = (PowerManager) owner.getInstrumentation()
.getTargetContext().getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK
| PowerManager.FULL_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP, owner.getClass()
.getSimpleName());
wakeLock.acquire();
returnwakeLock;
}
/**
* 解锁的方法
* @param instr
*/
publicstaticvoid unlock(Instrumentation instr) {
try {
Context targetContext = instr.getTargetContext();
KeyguardManager keyGuardManager = (KeyguardManager) targetContext
.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLockmLock = keyGuardManager.newKeyguardLock("");
mLock.disableKeyguard();
} catch (Throwable e) {
Log.e("TEST", "unlock failed:", e);
}
}
}
本文选自《手机测试Robotium实战教程》第六章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号