是的,Appium能够在通过wifi连接的多个真实Android设备上运行测试。下面是一个代码示例:
from appium import webdriver
from appium.webdriver.common.multi_action import MultiAction
from appium.webdriver.common.touch_action import TouchAction
# 定义设备列表
devices = [
{
'deviceName': 'device1',
'udid': 'xxxxx', # 第一个设备的UDID
'platformName': 'Android',
'platformVersion': 'x.x.x',
'appPackage': 'xxx',
'appActivity': 'xxx'
},
{
'deviceName': 'device2',
'udid': 'yyyyy', # 第二个设备的UDID
'platformName': 'Android',
'platformVersion': 'x.x.x',
'appPackage': 'xxx',
'appActivity': 'xxx'
}
]
# 创建一个列表来存储driver实例
drivers = []
# 遍历设备列表,创建并启动driver实例
for device in devices:
driver = webdriver.Remote('http://localhost:4723/wd/hub', device)
drivers.append(driver)
# 执行测试操作
for driver in drivers:
# 在每个设备上进行操作
# 例如点击按钮
button = driver.find_element_by_id('button_id')
button.click()
# 关闭driver实例
for driver in drivers:
driver.quit()
这个示例代码使用了Appium的Python客户端库,首先定义了一个包含多个设备信息的列表。然后,通过遍历设备列表,创建并启动了多个driver实例。接下来,在每个设备上执行测试操作(例如点击按钮),最后关闭所有driver实例。
请确保手机已经连接到同一个Wi-Fi网络,并且已经在每个设备上正确安装和配置了Appium所需的依赖项。