当前位置 博文首页 > 文章内容

    appium之Android keycode实现模拟按键

    作者: 栏目:未分类 时间:2020-09-17 9:00:13

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    来源

    Android是自带一些按键操作,即使现在的手机使用从底部滑动,或者左滑返回,它的原始的按键如home,返回键都是存在的,可以直接调用

    原理

    根据Android keycode对应的数字,调用Android密钥代码,实现模拟按键。

    如何使用?

    使用函数keyevent()或者press_keycode()

    #导包
    from appium import webdriver
    import time
    #准备自动化配置信息
    desired_caps={
        'platformName':'Android',
        'plathformVersion':'10',
        'deviceName':'MIUI12.0.1',
        'appPackage':'com.hpbr.bosszhipin',  
        'appActivity':'.module.launcher.WelcomeActivity',  
        'noReset':True,
        'newCommandTimeout':6000,
        'automationName':'UiAutomator2',
        'skipServerInstallation':True
    }
    driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
    driver.implicitly_wait(10)
    
    #模拟打开通知栏
    driver.open_notifications()
    
    time.sleep(5)
    driver.keyevent(4)  #关闭通知栏--模拟发送返回键
    # driver.press_keycode(4)  效果同上
    time.sleep(2)
    driver.keyevent(3)   #返回到主屏幕,home键
    input('按任意字符退出程序')
    
    driver.quit()

    下面网址是Android官网对于keyevent的介绍,可以找到按键对应的数字,不过需要翻墙才能访问。

    http://developer.android.com/reference/android/view/KeyEvent.html

    因为获取官网keycode需要翻墙比较麻烦,分享一篇别人总结好的比较详细的Android keycode的总结:

    https://www.cnblogs.com/bluestorm/p/4886662.html