zoukankan      html  css  js  c++  java
  • 测试平台系列(29) 编写用例执行的方法

    回顾

    上期编写了用例详情页,这期我们快刀斩乱麻,来编写用例执行功能

    编写执行用例的方法

    由于之前我们已经编写过了HTTP请求的方法,所以这次我们写起来事半功倍,只需要套个壳儿就可以了!

    • 编写app/utils/executor.py
    import json
    
    from app.dao.test_case.TestCaseDao import TestCaseDao
    from app.middleware.HttpClient import Request
    from app.utils.logger import Log
    
    
    class Executor(object):
        log = Log("executor")
    
        @staticmethod
        def run(case_id: int):
            result = dict()
            try:
                case_info, err = TestCaseDao.query_test_case(case_id)
                if err:
                    return result, err
                # 说明取到了用例数据
                if case_info.request_header != "":
                    headers = json.loads(case_info.request_header)
                else:
                    headers = dict()
                if case_info.body != '':
                    body = case_info.body
                else:
                    body = None
                request_obj = Request(case_info.url, headers=headers, data=body)
                method = case_info.request_method.upper()
                response_info = request_obj.request(method)
                return response_info, None
            except Exception as e:
                Executor.log.error(f"执行用例失败: {str(e)}")
                return result, f"执行用例失败: {str(e)}"
    
    

    注意这里的http请求其实很局限,比如不支持文件上传,不支持cookies等等。但是后续咱们可以慢慢儿来完善。

    • 编写接口

    调用一下Executor类的run方法即可。

    编写前端部分

    • 编写调用后端的方法: /request/run

    • 新增play icon

    这里只console.log输出了执行结果,因为考虑到执行结果报告化,以及后续需要有组织有纪律,还能随时查询到历史报告,所以后面测试报告页面是必不可少的。这边没有落库也没有做任何操作,是因为好东西要留到后头。

    配对视频: 测试平台系列02

  • 相关阅读:
    Ubuntu Dash 添加 Sublime Text 图标
    Ubuntu14.04修改DNS服务
    VNC viewer访问Ubuntu 14.04
    GPT和parted命令详解
    linux 标准IO缓冲机制探究
    浅谈无缓存I/O操作和标准I/O文件操作区别
    jsp利用request获取当前的链接地址
    eclipse jsp formatter
    spring bean
    ubuntu google-chrome-stable
  • 原文地址:https://www.cnblogs.com/we8fans/p/15283235.html
Copyright © 2011-2022 走看看