#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
import sys
import time rebootCount = int(input("请输入测试次数:"));
print ("你输入的次数是: ", rebootCount) def copyright():
print("\n")
print("Lenovo R&T automated testing script version 0.1") def usage():
print("Usage : python " + sys.argv[0])
print(" Please turn on the device and make sure that you can use ADB Command.")
print("\n") def find_device():
# os.system('adb kill-serve')
# os.system('adb start-server')
# os.system('adb root')
# os.system('adb remount')
print("adb devices")
os.system('adb devices') def open_camera():
print("打开相机:")
os.system('adb shell am start -a android.media.action.STILL_IMAGE_CAMERA') def back():
print("返回")
os.system('adb shell input keyevent 4') def backToHome():
print("返回主页")
os.system('adb shell input keyevent 3') def menulist():
print("菜单")
os.system('adb shell input keyevent 82') def vol_up():
print("音量加")
os.system('adb shell input keyevent 24') def vol_dn():
print("音量减")
os.system('adb shell input keyevent 25') def mute():
print("扬声器静音")
os.system('adb shell input keyevent 164') def take_photo():
print("拍照")
os.system('adb shell input keyevent 27') def get_log(name,count):
os.system('adb logcat -t 50000 > '+name+count+'.log') def screen_downup():
os.system('adb shell input keyevent 26') def power_downup():
os.system('adb shell sendevent /dev/input/event0 1 116 1')
os.system('adb shell sendevent /dev/input/event0 0 0 0')
os.system('adb shell sendevent /dev/input/event0 1 116 0')
os.system('adb shell sendevent /dev/input/event0 0 0 0') E_BADARGS = 1 copyright()
usage()
find_device()
message = os.popen('adb devices').readlines()
print(message)
count=len(message) if (count < 3):
print("can't find device|找不到设备")
sys.exit(E_BADARGS)
else: #打开相机拍照
for i in range(0,rebootCount):
open_camera()
time.sleep(10)
take_photo()
time.sleep(10)
back()
count=str(i)
get_log(name="take_photo",count=count)
print("take photo finish\n") #Camera一直开,休眠唤醒屏幕
for i in range(0,rebootCount):
open_camera()
time.sleep(10)
print("screen down up")
screen_downup()
time.sleep(10)
screen_downup()
time.sleep(10)
count=str(i)
get_log(name="screen_down_up",count=count)
print("screen_down_up finish\n") #Camera一直开,模拟按power键
# for i in range(1,5):
# open_camera()
# time.sleep(10)
# print("power down up")
# power_downup()
# time.sleep(10)
# power_downup()
# time.sleep(10)
# count=str(i)
# get_log(name="power_down_up",count=count)
# print("power_down_up finish\n")
# back() #Camera一直开,模拟按音量、静音键
for i in range(0,rebootCount):
open_camera()
time.sleep(10)
print("vol up")
vol_up()
time.sleep(10)
print("vol down")
vol_dn()
time.sleep(10)
mute()
count=str(i)
get_log(name="vol_down_up",count=count)
print("vol_down_up finish\n") backToHome()
menulist()
back()

【Python】Camera拍照休眠唤醒测试的更多相关文章

  1. android Camera拍照 及 MediaRecorder录像 预览图像差90度

    Camera拍照: 今天做照相机程序,结果写好了发现出问题了,预览的图像差90度.相关源代码如下: Camera.Parameters params = camera.getParameters(); ...

  2. 详细介绍windows下使用python pylot进行网站压力测试

    windows下使用python进行网站压力测试,有两个必不可少的程序需要安装,一个是python,另一个是pylot.python是一个安装软件,用来运行python程序,而pylot则是pytho ...

  3. WINCE6.0+ILI9806E休眠唤醒显示异常问题

    我们的系统WINCE6.0,它支持睡眠和唤醒,目的是想在不使用的时候让设备进入睡眠状态,降低功耗,我们遇到的问题就是设备正常启动后正常显示,但睡眠然后唤醒后要么显示白屏要么是条纹状白屏,如下图: 图1 ...

  4. Python Web 性能和压力测试 multi-mechanize

    http://www.aikaiyuan.com/5318.html 对Web服务做Performance & Load测试,最常见的工具有Apache Benchmark俗称ab和商用工具L ...

  5. android 休眠唤醒机制分析(二) — early_suspend

    本文转自:http://blog.csdn.net/g_salamander/article/details/7982170 early_suspend是Android休眠流程的第一阶段即浅度休眠,不 ...

  6. android 休眠唤醒机制分析(一) — wake_lock

    本文转自:http://blog.csdn.net/g_salamander/article/details/7978772 Android的休眠唤醒主要基于wake_lock机制,只要系统中存在任一 ...

  7. [置顶] android系统如何在静音模式下关闭camera拍照声音(2)

    之前写过一篇“android系统如何在静音模式下关闭camera拍照声音”的博客,今天来写他的续篇,继续探讨这个问题. 公司新需求,要求在camera应用中添加一个开关,可以进行拍照声音的关闭和开启. ...

  8. Python网络数据采集7-单元测试与Selenium自动化测试

    Python网络数据采集7-单元测试与Selenium自动化测试 单元测试 Python中使用内置库unittest可完成单元测试.只要继承unittest.TestCase类,就可以实现下面的功能. ...

  9. Android开发技巧——Camera拍照功能

    本篇是我对开发项目的拍照功能过程中,对Camera拍照使用的总结.由于camera2是在api level 21(5.0.1)才引入的,而Camera到6.0仍可使用,所以暂未考虑camera2. 文 ...

随机推荐

  1. 使用jquery-validationEngine框架,4步实现前端JS校验

    第1步: 引入CSS和JS      <script type="text/javascript" src="${base}/static/js/frontback ...

  2. [Angular] Using the platform agnostic Renderer & ElementRef

    ElementRef: ElementRef is a way to access native html element, notice that it only works for Broswer ...

  3. 谷歌 AI 中国中心成立,人工智能势不可挡?

    昨日,谷歌在上海举办了一年一度的Google中国开发者大会.在本届大会上,谷歌云首席科学家李飞飞宣布了一个重磅消息,即在北京将成立谷歌AI中国中心.对于这个即将成立的AI中心谷歌寄予厚望,希望与中国本 ...

  4. 使用jsp,tomcat实现用户登录注册留言的代码

    以下jsp中,未使用样式表对网页进行排版和表单的验证(每个jsp的表单填写的时候应该进行空值与空格的验证,防止提交时出错) 所有错误,链接到error.jsp <%@ page language ...

  5. 菜鸟学习Spring——60s利用JoinPoint获取參数的值和方法名称

    一.概述 AOP的实现方法在上两篇博客中已经用了两种方法来实现如今的问题来了尽管我们利用AOP,那么client怎样信息传递?利用JoinPoint接口来实现client给详细实现类的传递參数. 二. ...

  6. [GeekBand] C++继承关系下虚函数内存分布

    本文参考文献:GeekBand课堂内容,授课老师:侯捷 :深度探索C++对象模型(侯捷译) :网络资料,如:http://blog.csdn.net/sanfengshou/article/detai ...

  7. IWXAPI的使用,发布分享和支付

    今天看代码,看到以前项目的微信支付功能,想做一下记录 首先是在application类里面定义 public static IWXAPI MSGAPI; public static final Str ...

  8. Gradle构建脚本基础

    Gradle构建脚本,内部是基于 Groovy 的 DSL(领域特点语言),而Maven是基于XML的,Groovy相比XML更加简洁.灵活和强大. Groovy 因为给 Java 开发人员提供了最大 ...

  9. WM_NOTIFY消息流程实例分析

    我们以CListCtrl控件为例来分析WM_NOTIFY消息. CListCtrl控件在Report样式下会包含CHeaderCtrl标头控件,即CHeaderCtrl标头控件为CListCtrl控件 ...

  10. yii2框架学习一 yii安装与常见问题

    1 安装安装有两种  cpmposer 喝归档文件 安装  这里采用的归档文件安装    归档文件安装分为两种 基础末班和高级模板,这里采用高级模板  在官网或者yii-china 下载归档文件  解 ...