day16-Appium的其他手机操作

Appium的其他手机操作

  1. 能够实用appium在脚本内启动其他app
  2. 能够使用appium获取包名和activity的名字
  3. 能够使用appium关闭app和驱动对象
  4. 能够使用appium安装和卸载app
  5. 能够使用appium将应用置于后台
  6. 获取手机分辨率
  7. 手机截图
  8. 获取和设置网络状态
  9. 发送按键事件到设备
  10. 操作手机通知栏

在appium脚本内启动其他app

  • AppPackage:被启动应用的包名
  • appActivity:被启动应用的activity名字

driver.start_activity(apppackage, appActivity)

获取当前应用包名和activity的名字

driver.current_package
driver.current_activity

关闭app和驱动对象

driver.close_app()  # 关闭当前app
driver.quit()   # 退出driver对象

安装、卸载和判断app是否安装

driver.install_app('apk文件路径')   # 下载app
driver.remove_app('app包名')  # 卸载app
driver.is_app_installed('app包名')    # 判断是否下载app

将应用置于后台

  • seconds:在后台停留多少秒,时间到应用会自动回到前台
driver.background_app(10)   # 使当前应用在后台停留10秒

某些应用在进入后台一段时间后,重新回到前台是会要求输入密码,如果自动化测试这种功能,可以使用这个api来测试

  • 热启动:应用从后台回到前台,叫热启动
  • 冷启动:某个应用第一次打开,叫冷启动

获取手机分辨率

window_size = driver.get_window_size()    # 获取手机分辨率

手机截图

driver.get_screenshot_as_file('保存路径')   # 保存截图

获取和设置网络状态

netrwork_code = driver.network_connection   # 获取手机网络状态 返回状态码
driver.set_network_connection('状态码')    # 设置手机网络状态 0.全关,1.飞行模式,2.只开wifi,4.只开流量,6.流量和wifi打开
    Possible values:
        Value (Alias)      | 流量 | Wifi | 飞行模式
        -------------------------------------------------
        0 (None)           | 0    | 0    | 0
        1 (Airplane Mode)  | 0    | 0    | 1
        2 (Wifi only)      | 0    | 1    | 0
        4 (Data only)      | 1    | 0    | 0
        6 (All network on) | 1    | 1    | 0
    These are available through the enumeration `appium.webdriver.ConnectionType`

发送按键事件到设备

driver.press_keycode(keycode)

常用按键编码

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

操作手机通知栏

driver.open_notifications()     # 打开手机通知栏

你可能感兴趣的:(软件测试,android,测试工程师,软件测试,测试工具,自动化)