手机操作API

 针对手机的一些常用设置功能进行操作.
前置代码
  from appium import webdriver
    # server 启动参数
    desired_caps = {}
    # 设备信息
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '5.1'
    desired_caps['deviceName'] = '192.168.56.101:5555'
    # app的信息
    desired_caps['appPackage'] = 'com.android.settings'
    desired_caps['appActivity'] = '.Settings'

    # 声明我们的driver对象
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

获取手机时间

 方法:device_time
 代码实现:
      # 获取当前手机的时间
      print(driver.device_time)
  执行结果:
      Wed Dec 27 08:52:45 EST 2017

获取手机的宽高


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

  代码实现:
      print(driver.get_window_size())
  执行结果:
      {'height': 800, 'width': 480}

发送键到设备

 模拟系统键值的操作,比如操作honme键,音量键,返回键等。
  方法:keyevent(keycode, metastate=None):
  参数:
      keycode:发送给设备的关键代码
      metastate:关于被发送的关键代码的元信息,一般为默认值
  业务场景:
      1.打开设置
      2.按多次音量增加键
  代码实现:
      for i in range(3):
          driver.keyevent(24)

 

 操作手机通知栏

  打开手机的通知栏,可以获取通知栏的相关信息和元素操作
  方法:open_notifications()
  业务场景: 
      1.启动设置
      2.打开通知栏
  代码实现:
      driver.open_notifications()

 

 获取手机当前网络

 获取手机当前连接的网络
  方法:network_connection
  业务场景:
      获取手机当前网络模式
  代码实现:
      print(driver.network_connection)
  执行结果:
      6

 

 设置手机网络

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

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

  业务场景:
      1.启动设置
      2.设置手机网络为飞行模式
  代码实现:
      driver.set_network_connection(1)

 

 手机截图

  截取手机当前屏幕,保存指定格式图片到设定位置
  方法:get_screenshot_as_file(filename)
  参数:
      filename:指定路径下,指定格式的图片.
  业务场景:
      1.打开设置页面
      2.截图当前页面保存到当前目录,命名为screen.png
  代码实现:
      import os
      driver.get_screenshot_as_file(os.getcwd() + os.sep + './screen.png')
  执行结果:
      当前目录下会生成screen.png文件

 

 

 

 



















posted @ 2021-03-10 21:05  Python从入门到放弃o  阅读(226)  评论(0编辑  收藏  举报