解决android自动化测试中锁屏问题-简单的实现

在设计Android测试的时候,不可避免会遇到屏幕锁定的问题,除非你暴力将手机设为不锁定(当然这么做手机不久就废掉了),在实践中,我们使用了一下方式来解锁/唤醒屏幕。

1、解锁:

我们使用appnium自带的unlock app,在测试机上安装后,在setup方法中调起该app,方法如下:

public void unlock(String packageName) {

Context context = getInstrumentation().getContext();

PackageManager manager = context.getPackageManager();

Intent intent = manager.getLaunchIntentForPackage(packageName);

context.startActivity(intent);

}

2、唤醒:

唤醒我们使用了robotium的API

solo.unlockScreen();

通过以上两步,可以在手机锁定情况下唤起手机运行测试。

时间: 2024-10-07 07:09:04

解决android自动化测试中锁屏问题-简单的实现的相关文章

Android中锁屏密码算法解析以及破解方案

一.前言 最近玩王者荣耀,下载了一个辅助样本,结果被锁机了,当然破解它很简单,这个后面会详细分析这个样本,但是因为这个样本引发出的欲望就是解析Android中锁屏密码算法,然后用一种高效的方式制作锁机恶意样本.现在的锁机样本原理强制性太过于复杂,没意义.所以本文就先来介绍一下android中的锁屏密码算法原理. 二.锁屏密码方式 我们知道Android中现结单支持的锁屏密码主要有两种: 一种是手势密码,也就是我们常见的九宫格密码图 一种是输入密码,这个也分为PIN密码和复杂字符密码,而PIN密码

Android 通话:后台通话过程中锁屏解锁,发现听筒内存在锁屏提示音

[系统版本]:T0316 [ HW ]:p1 [测试前提]:1.卡1插入移动4G卡 [测试步骤]:1.呼入或呼出一通来电,接听: 2.按home返回后台,锁屏解锁查看. [测试结果]:1.后台通话过程中锁屏解锁,发现听筒内存在锁屏提示音 [预期结果]:1.通话过程中不应存在锁屏提示音 [概 率]:必现 solution: 修改文件:./frameworks/av/services/audiopolicy/AudioPolicyManager.cpp status_t AudioPolicyMan

解决:Android4.3锁屏界面Emergency calls only - China Unicom与EMERGENCY CALL语义重复

从图片中我们可以看到,这里在语义上有一定的重复,当然这是谷歌的原始设计.这个问题在博客上进行共享从表面上来看着实没有什么太大的意义,不过由于Android4.3在锁屏功能上比起老版本做了很大的改动,而且通过常规方法(Strings.xml中字符串)对该问题的定位会有很大的难度,拿这个界面来说,EMERGENCY CALL并不是Strings中值,而是  <string name="lockscreen_emergency_call">Emergency call</s

Android端恶意锁屏勒索应用分析

一.前言 5月12日,一场全球性互联网灾难悄然而至,一款名为WannaCRY的PC端恶意勒索软件利用NSA泄漏的危险漏洞“永恒之蓝”,给100多个国家和地区10万台电脑造成了巨大的损失.到2017年为止,全球手机用户总量已经突破50亿,而作为占比超过50%的android系统中,同样有许许多多类似WannaCRY的勒索软件正在危害我们的财产安全. 接下来,以一款主流的Android端恶意锁屏勒索应用为例,结合人工分析的方式,深入剖析勒索应用的恶意行为.知己知彼,才能更好的防患于未来.   二.运

解决:Android4.3锁屏界面Emergency calls only - China Unicom与EMERGENCY CALL语义反复

从图片中我们能够看到,这里在语义上有一定的反复,当然这是谷歌的原始设计.这个问题在博客上进行共享从表面上来看着实没有什么太大的意义,只是因为Android4.3在锁屏功能上比起老版本号做了非常大的修改,并且通过常规方法(Strings.xml中字符串)对该问题的定位会有非常大的难度,拿这个界面来说,EMERGENCY CALL并非Strings中值,而是  <string name="lockscreen_emergency_call">Emergency call<

Android下屏幕锁屏弹窗的正确姿势

最近在做一个关于屏幕锁屏悬浮窗的功能,于是在网上搜索了很多安卓屏幕锁屏的相关资料,鉴于网上的资料比较零碎,所以我在这里进行整理总结.本文将从以下两点对屏幕锁屏进行解析: 1. 如何监听系统屏幕锁屏 2. 如何在锁屏界面弹出悬浮窗 如何监听系统屏幕锁屏 经过总结,监听系统的锁屏可以通过以下两种方式: 1) 代码直接判定 2) 接收广播 1) 代码直接判定 代码判断方式,也有两种方法: a) 通过PowerManager的isScreenOn方法,代码如下: PowerManager pm = (P

解决Android studio 中的 Android Device Monitor 中 File Explorer 无法打开data目录的方法(转载 http://www.jianshu.com/p/d8a9a2918c61)

Android Device Monitor 文件管理的常见问题  (转自http://www.jianshu.com/p/d8a9a2918c61) 作者 knightaoko 关注 2017.03.21 11:41* 字数 2750 阅读 770评论 5喜欢 9 Android Device Monitor 是 Android Studio 中用于监测模拟器或真机运行状态的一款开发者工具.但开发者在使用它的过程中往往会遇到很多问题,尤其对于新手.本文分析了实际学习中遇到的问题,包括:1. F

Android 监听锁屏/开屏事件

1. 两种方案 (1) 监听BroadcastReceiver (2)获取PowerManager事件 2.  BroadcastReceiver 2.1. 事件 总共有3个事件: Intent.ACTION_SCREEN_ON : 屏幕点亮 Intent.ACTION_SCREEN_OFF :屏幕关闭 Intent.ACTION_USER_PRESENT: 用户解锁 2.2. 权限 监听用户解锁需要在AndroidManifest中注册权限 <uses-permission android:n

【Android代码片段之八】监听Android屏幕是否锁屏

实现方法:1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可以判断屏幕状态是否锁屏,但是只有屏幕状态发生改变时才会发出广播: 2)如果要在屏幕状态发生改变之前就想获取屏幕状态,可以通过反射机制调用PowerManager的isScreenOn方法 . 具体实现,见代码: 实现Screen状态监听的类ScreenObserver,实现如下: [java] view plaincopy package