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); } } } |
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。