使用openpyxl库断言导出数据的接口

简介: 使用openpyxl库断言导出数据的接口

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

相关文章
|
8月前
|
人工智能 安全 Java
Go 16岁了:官方年度总结和未来路线图
Go 16 周年:严谨如约(虽迟但到)、硬核升级——synctest 实现毫秒级并发测试、Green Tea GC 降低延迟62%、os.Root 筑牢安全防线;更深度赋能 AI,成智能体“原生钢筋”。稳、快、安,仍是它的少年答案。
606 1
|
消息中间件 存储 安全
深入理解 Qt 信号槽:高效沟通的桥梁
深入理解 Qt 信号槽:高效沟通的桥梁
1837 1
|
机器学习/深度学习 存储 人工智能
【AI系统】计算图与自动微分
自动求导利用链式法则计算雅可比矩阵,从结果节点逆向追溯计算路径,适用于神经网络训练中损失值对网络参数的梯度计算。AI框架中,自动微分与反向传播紧密相连,通过构建计算图实现高效梯度计算,支持动态和静态计算图两种模式。动态图如PyTorch,适合灵活调试;静态图如TensorFlow,利于性能优化。
752 6
【AI系统】计算图与自动微分
|
自然语言处理 前端开发 Java
04-ElasticSearch入门
04-ElasticSearch入门
|
算法 前端开发 Java
计算机课设:基于Java实现的简单科学计算器
计算机课设:基于Java实现的简单科学计算器
649 0
计算机课设:基于Java实现的简单科学计算器
|
算法 C++
C++ 基础复习系列2(打印图形类(循环)经典问题类)
C++ 基础复习系列2(打印图形类(循环)经典问题类)
C++ 基础复习系列2(打印图形类(循环)经典问题类)
|
Swift
Swift - 如何让UIView,UILabel和UIImageView之间类型互相转化
Swift - 如何让UIView,UILabel和UIImageView之间类型互相转化
358 0
|
Web App开发 Rust 算法
苹果 iPhone 14 或将取消刘海;算法推荐管理规定已施行;GitLab 14.8 发布 | 思否周刊
苹果 iPhone 14 或将取消刘海;算法推荐管理规定已施行;GitLab 14.8 发布 | 思否周刊
431 0
|
数据采集 前端开发 JavaScript
第67天:PyQuery 详解
第67天:PyQuery 详解
411 0
|
Web App开发 测试技术 程序员
利用ApiPost接口调试与文档生成工具,提升前、后端工作效率
ApiPost是一个支持团队协作,并可直接生成文档的API调试、管理工具。它支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具 。

热门文章

最新文章