写这篇文章是因为这次在编写接口自动化用例时候,有个导出文件的内容需要断言,从而判断case是否通过的。
def test_Staffexport(self):
url = common.Consts.url_lms_test + "url/export?current=1&size=10&deptId=932"
header = {
"Accept": 'application/json, text/plain, */*',
"Accept-Language": "zh-CN,zh;q=0.9",
"Accept-Encoding": "gzip, deflate, br",
"Cookie": "trackType=web;XXXXXXX"
}
r = requests.get(url=url, headers=header)
from pathlib import Path
#获取当前文件的前文件夹上两层路径
BASE_DIR = Path(__file__).resolve().parent.parent.parent #/Users/xmly/college-autotest
print(BASE_DIR)
#拼接路径,组成导出表格需要保存的位置
data_path = os.path.join(BASE_DIR,'data/staff.xlsx')
print(data_path) # /Users/xmly/college-autotest/data/staff.xlsx
with open(data_path, mode="wb+") as f:
f.writelines(r)
# 忽略默认样式警告,不影响运行
warnings.filterwarnings('ignore')
wb = openpyxl.load_workbook(data_path)
ws = wb['Sheet0']
#获取单元格中第2行第1列的数据
val = ws.cell(2, 1).value
#断言获取到的数据与预期结果是否一样
assert val == 预期结果
接口导出的文件格式是xml的,我直接将里面的内容写进excel中,然后去读取数据进行断言,结果已经达到了我的目的了,不过我看网上有如何去将xml转换成excel格式的,有时间去研究下~