发布网友 发布时间:2022-04-22 04:13
共2个回答
懂视网 时间:2022-05-03 11:34
一般是用adb shell input keyevent + keyCode 来模拟按键事件,
比如adb shell input keyevent 24 可以模拟“音量加键”,
以下是比较常用的几个按键的键值表。
KeyCode | 释义 |
---|---|
3 | Home键 |
4 | 返回键 |
5 | 电话拨号键 |
24 | 音量加键 |
25 | 音量减键 |
26 | 电源键 |
27 | 照相机启动键 |
87 | 多媒体下一曲键 |
88 | 多媒体上一曲键 |
91 | 音量静音键 |
批量处理脚本的特点是:批量顺序执行语句
# coding=utf-8
import os
import time
import random
timeout = 7200 # 2小时(7200s)
now_time = time.time() # 获取当前时间戳,并保存到一个变量
keycode_dict = {3: "HOME键", 4: "返回键", 5: "电话拨号键", 24: "音量加键",
25: "音量减键", 26: "电源键", 27: "照相机启动键", 87: "下一曲键",
88: "上一曲键", 91: "静音键"}
# 循环获取当前时间,与now_time变量做时间戳做减法
while time.time() - now_time <= timeout:
# 随机选择字典的某个“键”
keycode = random.choice(list(keycode_dict.keys()))
command = "adb shell input keyevent %s" % keycode
print("成功按下了%s" % keycode_dict[keycode])
# os.system(command)
time.sleep(0.5) # 间隔0.5s,再进行下一次按键模拟
print("已经进行了 %d 秒..., 一共需要测试 %d 秒" % (time.time() - now_time, timeout))
os.system("pause")
看哪些代码块,可以组成一个具体的功能,
这个案例,可以有一个输入按键事件的功能函数,input_keyevent(),
这个函数可以接收参数输入,可以指定输入多久的按键事件。
# coding=utf-8
import os
import time
import random
def input_keyevent(timeout):
now_time = time.time() # 获取当前时间戳,并保存到一个变量
keycode_dict = {3: "HOME键", 4: "返回键", 5: "电话拨号键", 24: "音量加键",
25: "音量减键", 26: "电源键", 27: "照相机启动键", 87: "下一曲键",
88: "上一曲键", 91: "静音键"}
# 循环获取当前时间,与now_time变量做时间戳做减法
while time.time() - now_time <= timeout:
# 随机选择字典的某个“键”
keycode = random.choice(list(keycode_dict.keys()))
command = "adb shell input keyevent %s" % keycode
print("成功按下了%s" % keycode_dict[keycode])
# os.system(command)
time.sleep(0.5) # 间隔0.5s,再进行下一次按键模拟
print("已经进行了 %d 秒..., 一共需要测试 %d 秒" % (time.time() - now_time, timeout))
input_keyevent(7200)
os.system("pause")
# coding=utf-8
import os
import time
import random
class KeyeventInputter():
def __init__(self):
self.keycode_dict = {3: "HOME键", 4: "返回键", 5: "电话拨号键", 24: "音量加键",
25: "音量减键", 26: "电源键", 27: "照相机启动键", 87: "下一曲键",
88: "上一曲键", 91: "静音键"}
def input_keyevent(self, timeout):
now_time = time.time() # 获取当前时间戳,并保存到一个变量
# 循环获取当前时间,与now_time变量做时间戳做减法
while time.time() - now_time <= timeout:
# 随机选择字典的某个“键”
keycode = random.choice(list(self.keycode_dict.keys()))
command = "adb shell input keyevent %s" % keycode
print("成功按下了%s" % self.keycode_dict[keycode])
# os.system(command)
time.sleep(0.5) # 间隔0.5s,再进行下一次按键模拟
print("已经进行了 %d 秒..., 一共需要测试 %d 秒" % (time.time() - now_time, timeout))
k_obj = KeyeventInputter()
k_obj.input_keyevent(7200)
os.system()
确保Android设备通过USB线与电脑连接了,adb设备有效连接,
以上代码的3种实现形式都可以直接运行,比如保存为random_keyevent.py并放在桌面,
建议python random_keyevent.py运行,当然也可以双击运行。
运行效果如下:
更多更好的原创文章,请访问官方网站:www.zipython.com
自拍教程(自动化测试Python教程,武散人编著)
原文链接:https://www.zipython.com/#/detail?id=635502eeeae5455c9ba0411cd5617d
也可关注“武散人”微信订阅号,随时接受文章推送。
《自拍教程50》Python_adb随机按键模拟2小时
标签:思想 input 语句 定义 面向 pytho ESS www 随机选择
热心网友 时间:2022-05-03 08:42
玩手机拍照,怎能少了*?*逐渐成为一种潮流,一种态度,大多数人都倾向于用这种方式来记录自己的日常生活。但是,如果想要拍出的照片打动人心,还需要掌握些小小的技巧。今天就来聊一聊手机*的方法与技巧。
*是非常讲究角度的,恰当的拍摄视角不仅可以增强美感,而且可以更好地遮挡脸部的小瑕疵。
*最常用的角度就是斜上45度角,这个角度是很多女孩子都喜欢的*角度。如果你把手机放到斜上45度角这个位置,根据透视原理,眼睛就会离镜头比较近,显得眼睛比较大一点,而且你要向上看眼睛就会自然睁得大一点。而且由于脸、下巴离镜头比较远,所以说在视觉上就会形成下巴比较尖,然后眼睛比较大这样一个效果。
至于为什么是斜上45度而不是正上方45度,因为有的时候,比如说有的人脸上的肉比较多或者有婴儿肥或者说他的咀嚼肌比较发达,那么你拍正面的话就会显得脸比较圆或比较方或者比较宽。
TIPS :不要把手机举得太高,因为如果太高的话,你就要仰头向上看,那就很显得不自然了,而且有一些人会有抬头纹。
角度和仰头式是刚好相反的,就是把手机放到斜下方拍,那可能你就会问了,刚才不是说要扬长避短吗?你用这种角度拍的话,透视原理不会显得脸更大了吗?其实这个质疑是对的,但是如果说所有的照片全是45度斜上的角度,可能就会显得千篇一律没有特色。
低头式比较适合自身脸就比较小或者下巴比较尖的人,这样的角度拍摄出来的照片能够显得人的五官会更加的突出更加的立体。
平视就是说把手机和眼睛的高度保持在一个高度上,这种是最简单的一种拍摄方式,它拍出来照片会显得比较自然。如果想营造一种别人拍摄的感觉,可以不看镜头,会使得平视*显得更加自然。
平视*,会显得相对比较平淡一点,没有什么特点,但是我们可以去尝试在一些特定的场景里去用平视的角度拍,比如说躺在床上拍,或者说趴在桌子上。
侧脸式
以侧脸的角度*并不常见,如果*者拥有完美的侧脸,可以尝试选择侧脸式的*方式。这种角度适合脸型轮廓比较好,立体感比较强的人。
采用这种*角度来*有一定的难度,通常需要进行盲拍,因此无法有针对性地调整自己的面部表情和头部的角度,可能需要多次尝试。