编写一个以appium的调用excel的脚本,可对元素进行操作并且打印日志
时间: 2024-02-25 11:51:39 浏览: 92
好的,请先确保你已经安装好了 Appium 和相关的 Python 库,例如 appium-python-client 和 openpyxl。接下来,你可以参考下面的代码来编写一个调用 Excel 表格并使用 Appium 进行 UI 自动化测试的脚本:
```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):
# 读取测试数据
test_data = {
'element_id': row[0].value,
'action_type': row[1].value,
'action_value': row[2].value
}
# 查找元素并执行操作
try:
element = driver.find_element_by_id(test_data['element_id'])
if test_data['action_type'] == 'click':
element.click()
elif test_data['action_type'] == 'input':
element.send_keys(test_data['action_value'])
else:
print('Unsupported action type: {}'.format(test_data['action_type']))
except:
print('Failed to perform action on element: {}'.format(test_data['element_id']))
# 打印日志
print('Performed action {} on element {} with value {}'.format(
test_data['action_type'], test_data['element_id'], test_data['action_value']))
# 等待 1 秒钟,以便让操作生效
time.sleep(1)
# 结束 Appium 会话
driver.quit()
```
在上面的代码中,我们首先使用 openpyxl 库加载了一个名为 testcases.xlsx 的 Excel 文件,并读取了 Sheet1 中的测试用例数据。每个测试用例包含三个字段:元素 ID、操作类型和操作值。例如,第一行测试用例可能是这样的:A1=“btn_login”、B1=“click”、C1=“”。
接下来,我们使用 Appium 的 Python 客户端库来启动一个 Appium 会话,并将配置信息传递给 Remote() 方法。在遍历测试用例时,我们使用 find_element_by_id() 方法查找指定 ID 的元素,并使用 click() 或 send_keys() 方法执行指定的操作。同时,我们在控制台打印了日志信息,以便在测试执行过程中进行调试和错误排查。
最后,我们使用 quit() 方法结束了 Appium 会话并关闭了应用程序。
阅读全文