from airtest.core.api import *
from airtest.report.report import simple_report
import os
# 初始化
auto_setup(__file__)
# 定义测试用例
def test_bluetooth_switch():
os.system("adb shell am start -a android.settings.WIFI_SETTINGS")
sleep(2.0)
try:
# 打开蓝牙开关
touch(Template(r"tpl1711383764391.png", record_pos=(0.375, -0.71), resolution=(1260, 2800)))
sleep(5) # 等待蓝牙开关操作完成
# 检查蓝牙是否成功打开
if exists(Template(r"tpl1711383764391.png")):
print("蓝牙成功打开")
else:
raise AssertionError("蓝牙未成功打开")
# 关闭蓝牙开关
touch(Template(r"tpl1711383807120.png", record_pos=(0.369, -0.717), resolution=(1260, 2800)))
sleep(5) # 等待蓝牙开关操作完成
# 检查蓝牙是否成功关闭
if exists(Template(r"tpl1711383807120.png")):
print("蓝牙成功关闭")
else:
raise AssertionError("蓝牙未成功关闭")
except Exception as e:
print("测试用例执行出现异常:", e)
# 执行测试用例
for i in range(5):
print(f"执行第 {i+1} 次测试")
test_bluetooth_switch()
# 生成简单测试报告
simple_report(__file__)
这段代码是一个用于测试Android设备蓝牙开关功能的自动化测试脚本,使用了Airtest框架。Airtest是一个跨平台的UI自动化测试框架,支持Windows、Android和iOS平台。以下是代码的主要功能:
-
初始化:通过
auto_setup(__file__)
函数初始化Airtest环境。 -
定义测试用例:
test_bluetooth_switch()
函数定义了一个测试用例,用于测试蓝牙开关的功能。- 首先,使用
adb shell am start -a android.settings.WIFI_SETTINGS
命令打开Android设备的设置界面。 - 然后,通过
sleep(2.0)
等待2秒钟,以确保设置界面已经打开。 - 在接下来的
try
块中,尝试执行以下操作:- 打开蓝牙开关:使用
touch()
函数模拟点击操作,点击蓝牙开关按钮。然后等待5秒钟,让蓝牙开关操作完成。 - 检查蓝牙是否成功打开:使用
exists()
函数检查蓝牙开关按钮的模板图像是否存在。如果存在,则打印“蓝牙成功打开”,否则抛出一个断言错误。 - 关闭蓝牙开关:同样使用
touch()
函数模拟点击操作,点击蓝牙开关按钮以关闭蓝牙。然后等待5秒钟。 - 检查蓝牙是否成功关闭:使用
exists()
函数检查蓝牙开关按钮的模板图像是否存在。如果不存在,则打印“蓝牙成功关闭”,否则抛出一个断言错误。
- 打开蓝牙开关:使用
- 如果在执行上述操作过程中出现任何异常,
except
块将捕获该异常并打印异常信息。
- 首先,使用
-
执行测试用例:通过一个for循环执行测试用例5次。每次执行前都会打印执行次数。
-
生成简单测试报告:最后,使用
simple_report(__file__)
函数生成一个简单的测试报告。
注意:这段代码中的模板图像路径(如r"tpl1711383764391.png"
)和记录位置(如record_pos=(0.375, -0.71)
)需要根据实际设备界面进行调整。这些参数通常是通过Airtest的录制功能生成的。