zoukankan      html  css  js  c++  java
  • 接口自动化测试 python+request+excel(七)

    前面学习了读取Excel,这次将返回数据写入Excel中,然后进行判断,该条测试用例是否通过

    封装写入Excel,在handle_excel.py加入,之前预留了write_value,现在就可以进行封装,在前面加上

    from xlutils.copy import copy

    from xlutils.copy import copy
        # 向某个单元格写入数据
        def write_value(self, row, col, value):
            data = xlrd.open_workbook(self.file)    # 打开文件
            data_copy = copy(self.file)             # 复制源文件
            sheet = data_copy.get_sheet(0)          # 取得复制文件的sheet对象
            sheet.write(row, col, value)            # 在某一单元格写入value
            data_copy.save(self.file)               # 保存文件

    如果打不开Excel文件,请看解决办法:https://www.cnblogs.com/hemingwei/p/11585799.html

    在主函数run_handle_excel.py加入写入Excel的方法

    #!/usr/bin/env python3
    # -*-coding:utf-8-*-
    # __author__: hunter
    
    from conn.run_demo import RunMain
    from interface.tool.handle_excel import *
    
    
    import json
    
    
    class RunTestCase:
        def __init__(self):
            self.Runmain = RunMain()        # 实例化调用get/post请求基类
            self.data = HandleExcel()       # 实例化操作Excel文件类
    
        def go_run(self):
            rows_count = self.data.get_rows()                   # 获取Excel行数
            for i in range(1, rows_count):                      # 利用行数进行迭代处理每个接口
                url = self.data.get_value(i, get_url())         # 循环获取URL的值
                method = self.data.get_value(i, get_mothod())   # 循环获取method的值
                print(self.data.get_value(i, get_params()))
                data = json.loads(self.data.get_value(i, get_params()))     # 循环获取请求参数
                expect = self.data.get_value(i, get_expectvalue())          # 循环获取期望输出
                is_run = self.data.get_value(i, get_priority())  # 获取是否运行,即判断Excel中priority是不是为“high"
                if is_run == 'high':
                    res = self.Runmain.run_main(url, method, data)      # 调用主函数,res就是返回的参数
                    self.data.write_value(i, get_actualvalue(), res)    # 将实际结果写入Excel中
                    if expect in res:           # res返回的内容是否包含expect,是否与期望一致
                        print('测试通过')
                        self.data.write_value(i, get_resultvalue(), 'pass') # 调用写入数据方法,将结果写进Excel
                    else:
                        print("测试失败")
                        self.data.write_value(i, get_resultvalue(), 'fail')
    
    
    if __name__ == '__main__':
        run = RunTestCase()
        run.go_run()

    得到结果:

     

  • 相关阅读:
    python字符串格式化笔记
    看球时的随笔——“如何掌握新的知识”
    str()和repre()的区别
    关于抛出异常和捕获异常
    python关键字详解
    博客的第一天
    PEP8 Python 编码规范
    SQL Server 自动循环归档分区数据脚本
    反射应用--取得类的结构
    回调函数callback使用例子
  • 原文地址:https://www.cnblogs.com/hemingwei/p/11592334.html
Copyright © 2011-2022 走看看