• 移动端测试——手机常见操作的API (5)


    appium基础API

    1.1 常用的手机操作API

    针对手机的一些常用设置功能进行操作

    • 前置代码
    # 导入driver对象
    from appium import webdriver
    
    import time
    
    # server 启动参数
    desired_caps = {}
    # 设备信息(系统、版本、设备号)
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '9'
    desired_caps['deviceName'] = '192.168.72.103:5555'
    # app信息(包名、启动名)
    desired_caps['appPackage'] = 'com.android.settings'
    desired_caps['appActivity'] = '.Settings'
    
    # 声明driver对象
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    
    try:
        pass
    except Exception as e:
        print(e)
    finally:
        # 关闭驱动对象
        driver.quit()
    
    

    1.1.1 获取手机时间

    方法:device_time

    # 获取当前手机的时间
    print(driver.device_time)
    

    1.1.2 获取手机的宽高

    获取手机的宽高,可以根据宽高做一些坐标的操作
    方法:get_window_size()

    print(driver.get_window_size())
    

    eg:

    phone_size = driver.get_window_size()
    x = phone_size.get("width")/2
    y_0 = 2*phone_size.get("height")/3
    y_1 = phone_size.get("height")/3
    driver.swipe(x, y_0, x, y_1,3000)
    

    1.1.3 发送键到设备

    模拟系统键值的操作,比如操作honme键,音量键,返回键等。
    方法:keyevent(keycode, metastate=None)

    参数 说明
    keycode 发送给设备的关键代码
    metastate 关于被发送的关键代码的元信息,一般为默认值

    eg(业务场景):

    打开设置,按多次音量增加键

    for i in range(3):
        driver.keyevent(24)
    
    • 常用键
    元信息 名称 关键代码
    KEYCODE_HOME 按键Home 3
    KEYCODE_BACK 返回键 4
    KEYCODE_CALL 拨号键 5
    KEYCODE_ENDCALL 挂机键 6
    KEYCODE_DPAD_UP 导航键 向上 19
    KEYCODE_DPAD_DOWN 导航键 向下 20
    KEYCODE_DPAD_LEFT 导航键 向左 21
    KEYCODE_DPAD_RIGHT 导航键 向右 22
    KEYCODE_DPAD_CENTER 导航键 确定键 23
    KEYCODE_VOLUME_UP 音量 增加键 24
    KEYCODE_VOLUME_DOWN 音量 减小键 25
    KEYCODE_POWER 电源键 26
    KEYCODE_CAMERA 拍照键 27
    KEYCODE_TAB Tab键 61
    KEYCODE_ENTER 回车键 66
    KEYCODE_DEL 退格键 67
    KEYCODE_FOCUS 拍照对焦键 80
    KEYCODE_MENU 菜单键 82
    KEYCODE_NOTIFICATION 通知键 83
    KEYCODE_SEARCH 搜索键 84
    KEYCODE_MUTE 话筒静音键 91
    KEYCODE_PAGE_UP 向上翻页键 92
    KEYCODE_PAGE_DOWN 向下翻页键 93
    KEYCODE_ESCAPE ESC键 111
    KEYCODE_FORWARD_DEL 删除键 112
    KEYCODE_CAPS_LOCK 大写锁定键 115
    KEYCODE_SCROLL_LOCK 滚动锁定键 116
    KEYCODE_BREAK Break/Pause键 121
    KEYCODE_MOVE_HOME 光标移动到开始键 122
    KEYCODE_MOVE_END 光标移动到末尾键 123
    KEYCODE_INSERT 插入键 124
    KEYCODE_NUM_LOCK 小键盘锁 143
    KEYCODE_VOLUME_MUTE 扬声器静音键 164
    KEYCODE_ZOOM_IN 放大键 168
    KEYCODE_ZOOM_OUT 缩小键 169
    KEYCODE_ALT_LEFT Alt+Left
    KEYCODE_ALT_RIGHT Alt+Right
    KEYCODE_CTRL_LEFT Control+Left
    KEYCODE_CTRL_RIGHT Control+Right
    KEYCODE_SHIFT_LEFT Shift+Left
    KEYCODE_SHIFT_RIGHT Shift+Right

    参阅:

    1.1.4 操作手机通知栏

    打开手机的通知栏,可以获取通知栏的相关信息和元素操作
    方法:open_notifications()

    eg(业务场景):

    启动设置,打开通知栏,2秒后,返回主页

    driver.open_notifications()
    time.sleep(2)
    driver.keyevent(3)
    

    eg:

    1.1.5 获取手机当前网络

    获取手机当前连接的网络
    方法:network_connection

    eg(业务场景):

    获取手机当前网络模式

    print(driver.network_connection)
    

    1.1.6 设置手机网络

    更改手机的网络模式,模拟特殊网络情况下的测试用例
    方法:set_network_connection(connectionType)

    参数 说明
    connectionType 需要被设置成为的网络类型

    eg(业务场景):

    启动设置,设置手机网络为飞行模式

    driver.set_network_connection(1)
    

    1.3.8 手机截图

    截取手机当前屏幕,保存指定格式图片到设定位置
    方法:get_screenshot_as_file(filename)

    参数 说明
    filename 指定路径下,指定格式的图片.

    eg(业务场景):

    打开设置页面,截图当前页面保存到当前目录,命名为screen.png

    import os
    driver.get_screenshot_as_file(os.getcwd() + os.sep + './screen.png')
    

    执行结果:
    当前目录下会生成screen.png文件

    更新中......


  • 相关阅读:
    浅谈LBS(基于位置的服务)
    MapBar地图更新啦
    推荐一款软件:Global Mapper
    51ditu、清华地图以及Google地图
    极索(Gsuo)推出新版地图采用Gmap设计思路
    公告:Rover's Official Blog停止更新
    最后的礼物:校园多媒体系统和校园WEBGIS系统
    JAVA中最常用的十个快捷键
    启程去旅行 android之merge布局 http://www.cnblogs.com/travelfromandroid/articles/2133206.html
    Http 范例
  • 原文地址:https://www.cnblogs.com/ricsy/p/11581689.html
Copyright © 2020-2023  润新知