要是对多个元素进行操作呢
时间: 2023-09-09 16:11:05 浏览: 38
如果你需要对多个元素进行操作,你可以在 Excel 表格中添加多个测试用例,并在脚本中使用一个循环来遍历这些用例。例如,你可以在 Excel 表格中添加一个名为 "element_ids" 的字段,它包含一个或多个元素 ID,以逗号分隔。然后,你可以在脚本中使用 split() 方法将这些 ID 分割并存储在一个列表中,然后对列表中的每个元素执行相同的操作。下面是一个示例代码:
```python
from appium import webdriver
from openpyxl import load_workbook
import time
# 加载 Excel 文件
workbook = load_workbook('testcases.xlsx')
worksheet = workbook['Sheet1']
# 定义 Appium 的配置
desired_caps = {
'platformName': 'Android',
'deviceName': 'emulator-5554',
'appPackage': 'com.example.myapp',
'appActivity': 'MainActivity',
'noReset': True
}
# 启动 Appium 会话
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 遍历 Excel 表格中的测试用例
for row in worksheet.iter_rows(min_row=2):
# 读取测试数据
element_ids = row[0].value.split(',')
action_type = row[1].value
action_value = row[2].value
# 遍历元素列表并执行操作
for element_id in element_ids:
# 查找元素并执行操作
try:
element = driver.find_element_by_id(element_id)
if action_type == 'click':
element.click()
elif action_type == 'input':
element.send_keys(action_value)
else:
print('Unsupported action type: {}'.format(action_type))
except:
print('Failed to perform action on element: {}'.format(element_id))
# 打印日志
print('Performed action {} on element {} with value {}'.format(
action_type, element_id, action_value))
# 等待 1 秒钟,以便让操作生效
time.sleep(1)
# 结束 Appium 会话
driver.quit()
```
在上面的代码中,我们首先从 Excel 表格中读取了一个名为 "element_ids" 的字段,并使用 split() 方法将其分割成一个元素 ID 列表。然后,我们使用一个内部循环来遍历列表中的每个元素,并执行相同的操作。这样,你就可以轻松地对多个元素进行相同的操作。