appium学习总结5 - 操作设备

2、设备操作相关

2.1 通过 包名称 和 活动名称 来启动app

# (1)通过 包名称 和 活动名称 来启动app
self.driver.start_activity("com.example", "ActivityName")
# (2)获取当前 Android 活动的名称
activity = self.driver.current_activity
# (3)获取当前安卓包的名称
package = self.driver.current_package

2.2 设备上的应用程序

# 安装app
self.driver.install_app('/Users/johndoe/path/to/app.apk')
# 检查设备上是否安装app
self.driver.is_app_installed('com.example.AppName')
# 启动app
self.driver.launch_app()
# 将当前活动的应用程序发送到后台,并在一定时间后返回,或者使应用程序处于停用状态,-1表示完全停止应用
self.driver.background_app(10)
# 退出app
self.driver.close_app()
# 重置app
self.driver.reset()
# 删除app
self.driver.remove_app('com.example.AppName')
# 激活app
driver.activate_app('com.apple.Preferences')
driver.activate_app('io.appium.android.apis')
# 终止app
driver.terminate_app('com.apple.Preferences')
driver.terminate_app('io.appium.android.apis')
# 获取app的状态
driver.query_app_state('com.apple.Preferences')
driver.query_app_state('io.appium.android.apis')
# 获取app字符串
appStrings = self.driver.app_strings("en", "/path/to/file")
# 获取测试覆盖率数据
self.driver.end_test_coverage("Intent", "/path")

2.3 设备上的剪贴板

# 获取系统剪贴板的内容
self.driver.get_clipboard()
self.driver.get_clipboard_text()
# 设置系统剪贴板的内容
self.driver.set_clipboard('happy testing')
self.driver.set_clipboard_text('happy testing')

2.4 设备上的电源

# 在连接的模拟器上模拟电源状态变化
self.driver.set_power_ac(Power.AC_OFF)
# 在连接的模拟器上模拟电源容量变化
self.driver.set_power_capacity(50)

2.5 设备上的文件

# 推送文件 - 将文件放在设备上的特定位置
dest_path = '/data/local/tmp/test_push_file.txt'
data = bytes('This is the contents of the file to push to the device.', 'utf-8')
self.driver.push_file(dest_path, base64.b64encode(data).decode('utf-8'))
# 拉取文件 - 从设备的文件系统中检索文件
file_base64 = self.driver.pull_file('/path/to/device/foo.bar')
# 拉取文件夹 - 从设备的文件系统中检索文件夹
folder_base64 = self.driver.pull_folder('/path/to/device/foo.bar')

2.6 设备的摇动

# 摇动设备
self.driver.shake()
# 锁定设备
self.driver.lock()
# 解锁设备
self.driver.lock();
self.driver.unlock();
# 设备是否锁定
self.driver.is_locked()
# 旋转设备

2.7 设备上的键盘

# 按键代码 - 按 Android 设备上的特定键
self.driver.press_keycode(10)
# 长按键码 - 按住 Android 设备上的特定键码
self.driver.long_press_keycode(10)
# 隐藏键盘
self.driver.hide_keyboard()
# 键盘是否显示
driver.is_keyboard_shown()

2.8 设备上的网络

# 切换飞行模式(不支持python)

# 切换数据(不支持python)

# 切换wifi
driver.toggle_wifi()
# 切换定位服务状态
self.driver.toggle_location_services()
# 发送短信 - 模拟 SMS 消息(仅限模拟器)
self.driver.send_sms('555-123-4567', 'Hey lol')
# 拨打 GSM 电话(仅限模拟器)
self.driver.make_gsm_call('5551234567', GsmCallActions.CALL)
# 设置 GSM 信号强度(仅限模拟器)
self.driver.set_gsm_signal(GsmSignalStrength.GOOD)

2.9 设备的性能数据

# 获取性能数据 - 返回支持读取的系统状态信息,如cpu、内存、网络流量和电池
self.driver.get_performance_data('my.app.package', 'cpuinfo', 5)
# 获取性能数据类型 - 返回支持读取的系统状态信息类型,如 cpu、内存、网络流量和电池
self.driver.get_performance_data_types()

2.10 设备的屏幕录制

# 开始录制画面
self.driver.start_recording_screen()
# 停止录制屏幕
self.driver.stop_recording_screen()

2.11 设备的模拟器

# 模拟touch id事件(仅限 iOS 模拟器)
self.driver.touch_id(false) # Simulates a failed touch
self.driver.touch_id(true) # Simulates a passing touch
# 切换 Touch ID 注册
self.driver.toggle_touch_id_enrollment()

2.12 设备上的系统

# 打开 Android 通知(仅限模拟器)
self.driver.open_notifications()
# 获取系统栏 - 检索状态和导航栏的可见性和边界信息
self.driver.get_system_bars()
# 获取系统时间
time = self.driver.device_time
time = self.driver.get_device_time()
time = self.driver.get_device_time("YYYY-MM-DD")

2.13 设备上的指纹

# 通过在支持的模拟器上使用他们的指纹扫描来验证用户
self.driver.finger_print(1)
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿_焦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值