html 页面中点击手机back键_【笔记】手机操作API

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

1.获取手机时间

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

2.获取手机的宽高

获取手机的宽高,可以根据宽高做一些坐标的操作
方法:get_window_size()
代码实现:
      print(driver.get_window_size())
  执行结果:
      {'height': 800, 'width': 480}

3.发送键到设备(keyevent常用键列表在最后)

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

4.操作手机通知栏

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

5.获取手机当前网络

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

e2eef58d55dc995debc95d5fc04172de.png

6.设置手机网络

更改手机的网络模式,模拟特殊网络情况下的测试用例
方法:set_network_connection(connectionType)
  参数:
      connectionType:需要被设置成为的网络类型
业务场景:
      1.启动设置
      2.设置手机网络为飞行模式
代码实现:
      driver.set_network_connection(1)

7.手机截图(import os)

截取手机当前屏幕,保存指定格式图片到设定位置
方法: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文件

keyevent常用键列表

命令格式:adb shell input keyevent “value”

adb shell input keyevent 29    # for key 'A'
  • 常用键展示
KEYCODE_CALL 拨号键 5
    KEYCODE_ENDCALL 挂机键 6
    KEYCODE_HOME 按键Home 3
    KEYCODE_MENU 菜单键 82
    KEYCODE_BACK 返回键 4
    KEYCODE_SEARCH 搜索键 84
    KEYCODE_CAMERA 拍照键 27
    KEYCODE_FOCUS 拍照对焦键 80
    KEYCODE_POWER 电源键 26
    KEYCODE_NOTIFICATION 通知键 83
    KEYCODE_MUTE 话筒静音键 91
    KEYCODE_VOLUME_MUTE 扬声器静音键 164
    KEYCODE_VOLUME_UP 音量增加键 24
    KEYCODE_VOLUME_DOWN 音量减小键 25
    KEYCODE_ENTER 回车键 66
    KEYCODE_ESCAPE ESC键 111
    KEYCODE_DPAD_CENTER 导航键 确定键 23
    KEYCODE_DPAD_UP 导航键 向上 19
    KEYCODE_DPAD_DOWN 导航键 向下 20
    KEYCODE_DPAD_LEFT 导航键 向左 21
    KEYCODE_DPAD_RIGHT 导航键 向右 22
    KEYCODE_MOVE_HOME 光标移动到开始键 122
    KEYCODE_MOVE_END 光标移动到末尾键 123
    KEYCODE_PAGE_UP 向上翻页键 92
    KEYCODE_PAGE_DOWN 向下翻页键 93
    KEYCODE_DEL 退格键 67
    KEYCODE_FORWARD_DEL 删除键 112
    KEYCODE_INSERT 插入键 124
    KEYCODE_TAB Tab键 61
    KEYCODE_ENTER=66;enter键
    KEYCODE_NUM_LOCK 小键盘锁 143
    KEYCODE_CAPS_LOCK 大写锁定键 115
    KEYCODE_BREAK Break/Pause键 121
    KEYCODE_SCROLL_LOCK 滚动锁定键 116
    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
  • 官方keyevent文档
地址: https://developer.android.com/reference/android/view/KeyEvent.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在FastAPI,使用SQLAlchemy进行数据库操作时,可以使用relationship来定义表之间的关系,以便在查询一个模型时可以轻松地访问另一个模型。如果定义了一个relationship,并且使用了back_populates参数,则可以在两个模型之间建立双向关系。 例如,假设我们有一个User模型和一个Item模型,我们希望在查询Item模型时可以轻松地访问其所有者,同时在查询User模型时可以轻松地访问其所有项目,我们可以在定义关系时使用back_populates参数: ```python from sqlalchemy import Column, Integer, String, ForeignKey from sqlalchemy.orm import relationship class User(Base): __tablename__ = "users" id = Column(Integer, primary_key=True, index=True) email = Column(String(50), unique=True, nullable=False) password_hash = Column(String(128), nullable=False) is_active = Column(Boolean(), default=True, nullable=False) items = relationship("Item", back_populates="owner") class Item(Base): __tablename__ = "items" id = Column(Integer, primary_key=True, index=True) title = Column(String(50), nullable=False) description = Column(String(100)) owner_id = Column(Integer, ForeignKey("users.id")) owner = relationship("User", back_populates="items") ``` 在上面的代码,我们在User模型和Item模型之间定义了一个关系,使用back_populates参数建立了双向关系。具体来说,我们在User模型定义了一个名为items的属性,并在Item模型定义了一个名为owner的属性,这两个属性都与对方的模型相关联。 在使用back_populates参数时,需要注意以下几点: 1. back_populates参数必须在两个模型的关系属性都使用,并且值必须相同。 2. 如果您使用了backref参数来定义关系,那么可以使用backref替换back_populates。 3. 如果您的模型之间有多个关系,那么需要使用不同的back_populates值来区分它们。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值