写这篇文章是因为这次在编写接口自动化用例时候,有个导出文件的内容需要断言,从而判断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格式的,有时间去研究下~