按键类操作
按键类操作用来模拟在手机设备上进行按键操作(推荐使用 方式一 )
方式一、press_keycode(self,keycode,metastate=None,flags=None):模拟按键输入,其中:
keycode:发送到设备的键值编码可以通过AndroidKeyCode进行查询对应数值
metastate:将被发送的元信息
flags:设置的按键事件标记
举例:通过键盘正常输入大写字母的操作方式有四种:
1.按下左侧shift键+字母 driver.press_keycode(29,64,59)
2.按下右侧shift键+字母 driver.press_keycode(29,128,60)
3.按下caps_lock大小写锁定键输入字符 driver.press_keycode(29,1048576)
4.按下shift键+字母 driver.press_keycode(29,1)
注:按键详细操作参考:转载至 作者:oscarforever 地址:https://www.cnblogs.com/oscarforever/p/10721774.html
# 实现手机键盘自带搜索或者发送的操作 driver.press_keycode(66)
import time from appium import webdriver # 导入appium 驱动包 from appium.webdriver.webdriver import By # 导入appium 定位的方法包 des = { 'platformName':'Android', 'platformVersion':'6.0.1', # 填写android虚拟机/真机的系统版本号 'deviceName':'MuMu', # 填写安卓虚拟机/真机的设备名称 'appPackage':'com.android.settings', # 填写被测app包名 'appActivity':'.Settings', # 填写被测app的入口 'udid':'127.0.0.1:7555', # 填写通过命令行 adb devices 查看到的udid 'noReset':True, # 是否重置APP 'unicodeKeyboard':True, # 是否支持中文输入 'resetKeyboard':True, # 是否支持重置键盘 'newCommandTimeout':30 # 30秒没发送新命令就断开连接 } driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des) time.sleep(2) driver.find_element(By.XPATH,'//android.widget.TextView[@content-desc="搜索设置"]').click() time.sleep(2) driver.find_element(By.XPATH,'//android.widget.EditText[@resource-id="android:id/search_src_text"]').click() time.sleep(1) driver.press_keycode(29,64,59) # 29是字母a,64是打开左边shift键开关 59是按左边shift键 ==》A time.sleep(1) driver.press_keycode(29,128,60) # 29是字母a,128是打开右边shift键开关 60是按右边shift键 ==》A time.sleep(1) driver.press_keycode(29,1048576) #29是字母a META_CAPS_LOCK_ON 大写键开关打开 ==》A time.sleep(1) driver.press_keycode(29,1) # 29是字母a 1是shift键打开 ==》A
方式二、keyevent(self,keycode,metastate=None):模拟按键输入,其中:
keycode:发送到设备的键值编码可以通过AndroidKeyCode进行查询对应数值
metastate:将被发送的元信息
该方法和press_keycode()方法类似,建议用press_keycode(),是新推出的方法
driver.keyevent(29,1) # a shift键打开
方式三、long_press_keycode(self,keycode,metastate=None,flags=None):
模拟长按按键操作,参数不做描述,和之前的含义一样。一般用来模拟长按手机上某个按钮,比如长按电源键,长按home键。
driver.long_press_keycode(29,1) # 长按 shift 键
自动化测试相关教程推荐:
2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!