分享httprunner 结合django实现平台接口自动化方案

说明,可以直接在某个视图集定义自定义接口来验证。

调试1:前端界面直接编写yaml文件.

  • 新增要实现存数据到mysql,同时存文件到testcase下, 如test.yaml
  • 更新yaml数据,同时做到更新 testcase下的文件,如test.yaml
python 复制代码
  @action(methods=['GET'], detail=True, url_path='mkfile')
    def mkfile_case(self,req,pk):
        # student = self.get_object()
        yaml_file = 'key: value\nlist:\n  - item1\n  - item2'
        yaml_name = 'test.yaml'
        yaml_path = os.path.join('testcase', yaml_name)

        with open(yaml_path, 'w') as f:
            f.write(yaml_file)

        return ResponseList(msg="make success")

调试2 :后端实现单用例的执行

python 复制代码
    @action(methods=["get"],detail=True)
    def run_case(self,request,pk):
        # student2 = Student.objects.get(pk=pk)

        # 这个写法同上
        student = self.get_object()

        path =f"testcase/{student.desc}"

        # 2.调用hr4的api,来执行我们的json文件
        # print(path)
        exit_code = main_run([path])

        # 3.返回执行结果
        if exit_code != 0:
            return ResponseError(msg="failed run case")

        # 4.返回执行结果
        return ResponseList(msg="run success")

调试3:后端实现多个用例的执行,并生成报告

后端:

前端:

一个测试计划可以选多个测试用例,然后点击执行,就运行多个测试用例

在测试报告菜单中,可以展示每个测试计划执行后的测试结果。

相关推荐
七夜zippoe4 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Fcy6485 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满5 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠5 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9036 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技7 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀7 小时前
Linux环境变量
linux·运维·服务器
zzzsde7 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º9 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~9 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化