设备交互是自动化测试工具与移动设备进行沟通和掌握的过程,它不仅限于基本的应用元素点击和输入等操作。
在移动端应用程序测试中,设备交互的范围扩展到模拟通信方面和模拟设备本身的功能和行为,会涉及到设备的通信行为,例如模拟电话呼叫和短信发送,以及控制设备的一些系统级别的功能,例如网络连接状态、屏幕方向等。
通过这样的设备交互,测试人员可以更全面地评估应用在不同设备和环境条件下的表现,确保应用在实际使用中能够正常工作并提供良好的用户体验。
lock()
unlock()
is_locked()
如果是锁屏状态返回 True。get_screenshot_as_file('./photos/img01.png')
save_screenshot('./photos/img02.png')
start_recording_screen()
stop_recording_screen()
open_notifications()
get_window_size()
Appium 提供了模拟来电和短信的功能,这在测试中可用于验证应用在接收来电或短信时的响应。需要注意的是,这些模拟功能仅限于原生模拟器,不支持第三方的模拟器。
Python 示例
## 向号码拨打电话
driver.make_gsm_call("13822233001", GsmCallActions.CALL);
## 接听来自当前号码的电话
driver.make_gsm_call("13822233001", GsmCallActions.ACCEPT);
## 电话保持
driver.make_gsm_call("13822233001", GsmCallActions.HOLD);
## 终止与号码的通话,可用于取消拨号或挂断通话
driver.make_gsm_call("13822233001", GsmCallActions.CANCEL);
## 接收到来自该号码的短信
driver.send_sms("555-123-4567", "hello Appium");
只有 Android 可以使用 set_network_connection 进行网络设置
Python 示例
## 获取当前网络状态
print(driver.network_connection)
## 设置为飞行模式
driver.set_network_connection(1)
## 只开启Wifi
driver.set_network_connection(2)
## 设置为只有数据为开启状态
driver.set_network_connection(4)
## 数据与Wifi均打开
driver.set_network_connection(6)
实现横竖屏切换的功能可以通过设置 driver
的属性 orientation
来修改,属性值的含义如下:
LANDSCAPE
:切换为横屏PORTRAIT
:切换为竖屏Python 示例
# 输出当前 driver 的属性
print(driver.orientation)
# 设置为横屏
driver.orientation == 'LANDSCAPE'
# 设置为竖屏
driver.orientation == 'PORTRAIT'
执行代码是如果需要获取日志信息可以通过 get_log
方法查看,需要输入参数表示日志的类型,例如 logcat
表示获取 Android 设备上的日志,该方法返回一个包含所有日志信息的字典。
Python 示例
# 获取支持的日志类型
log_types = driver.log_types
print(log_types)
# 获取 `logcat` 类型的日志
logcat_logs = driver.get_log("logcat")
print(logcat_logs)
Appium 提供了一个获取设备实际时间的方法,可通过调用 getDeviceTime
来获取。
Python 示例
# 打印出设备的实际时间
print(driver.get_device_time())
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。