从零开始数据驱动接口自动化测试 执行结果回写- 07

已经写过excel的写入方法,需要参数为行号,列号,和写入的数据
直接对其写入即可,上代码标记给大家分享,这是到现在为止的run_main的代码组,下边用图来标记回下增加的代码

# -*- coding: utf-8 -*-
# @Time    : 2020/1/14 13:42
# @Author  : Willam.zja
# @FileName: run_main.py
# @Software: PyCharm
# @Blog    :https://blog.csdn.net/enemy_sprites
import os
import sys
sys.path.append(os.getcwd())
base_path = os.path.abspath(os.path.dirname(os.getcwd()))
from Utils.handle_excel import excel_method
from Utils.handle_ini import ReadIni
from Base.base_requests import request
import ast
import json
from Utils.handle_result import handle_mr_json,handle_constrast_json,handle_json_json

class RunMain(object):
    """
    用例执行的主函数
    """
    def run_case(self):
        #获取用例数
        lines = excel_method.get_lines()
        for i in range(lines-1):
            data_list = excel_method.get_row_data(i+2)
            is_run = data_list[ReadIni().get_int_value('is_run')]
            if is_run == 'yes':
                case_id = data_list[ReadIni().get_int_value('case_id')]
                method = data_list[ReadIni().get_int_value('method')]
                url = data_list[ReadIni().get_int_value('url')]
                params = ast.literal_eval(data_list[ReadIni().get_int_value('params')])
                res = request.run_main(method,url,params)
                expect_method = data_list[ReadIni().get_int_value('expect_method')]
                errorcode = res.get('error_code')
                if expect_method == 'errorcode+message':
                    message = res.get('reason')
                    expect_message = handle_mr_json(url,errorcode)
                    if message == expect_message:
                        print('{}--->{}--->pass'.format(case_id,expect_method))
                        excel_method.write_data(i+2,ReadIni().get_int_value('actual_result'),'Pass')
                        excel_method.write_data(i + 2, ReadIni().get_int_value('result_data'),json.dumps(res))
                    else:
                        print('{}--->{}--->failure'.format(case_id,expect_method))
                        excel_method.write_data(i + 2, ReadIni().get_int_value('actual_result'), 'Failure')
                        excel_method.write_data(i + 2, ReadIni().get_int_value('result_data'), json.dumps(res))
                if expect_method == 'json':
                    if errorcode == 0:
                        status_code = 'success'
                    else:
                        status_code = 'error'
                    result = handle_constrast_json(res,handle_json_json(url,status_code))
                    if result == True:
                        print('{}--->{}--->pass'.format(case_id,expect_method))
                        excel_method.write_data(i + 2, ReadIni().get_int_value('actual_result'), 'Pass')
                        excel_method.write_data(i + 2, ReadIni().get_int_value('result_data'), json.dumps(res))
                    else:
                        print('{}--->{}--->failure'.format(case_id,expect_method))
                        excel_method.write_data(i + 2, ReadIni().get_int_value('actual_result'), 'Failure')
                        excel_method.write_data(i + 2, ReadIni().get_int_value('result_data'), json.dumps(res))
                if expect_method == 'errorcode':
                    expect_result = data_list[ReadIni().get_int_value('expect_result')]
                    if int(expect_result) == errorcode:
                        print('{}--->{}--->pass'.format(case_id,expect_method))
                        excel_method.write_data(i + 2, ReadIni().get_int_value('actual_result'), 'Pass')
                        excel_method.write_data(i + 2, ReadIni().get_int_value('result_data'), json.dumps(res))
                    else:
                        print('{}--->{}--->failure'.format(case_id,expect_method))
                        excel_method.write_data(i + 2, ReadIni().get_int_value('actual_result'), 'Failure')
                        excel_method.write_data(i + 2, ReadIni().get_int_value('result_data'), json.dumps(res))
                # print(res)




if __name__ == '__main__':
    RunMain().run_case()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值