分享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:后端实现多个用例的执行,并生成报告

后端:

前端:

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

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

相关推荐
什么半岛铁盒1 小时前
Linux进程异常退出排查指南
linux·运维·服务器
Ares-Wang1 小时前
负载均衡LB》》LVS
运维·负载均衡·lvs
大连好光景2 小时前
沙箱&虚拟化技术&虚拟机&容器之间的关系详解
运维
饺子大魔王的男人2 小时前
Docker环境下FileRise私有云盘在飞牛NAS的部署与穿透实践
运维·docker·容器
lyh13442 小时前
【Ubuntu崩溃修复】
linux·运维·服务器
不爱学英文的码字机器3 小时前
持续交付的进化:从DevOps到AI驱动的IT新动能
运维·人工智能·devops
Lw老王要学习4 小时前
Linux容器篇、第一章_02Rocky9.5 系统下 Docker 的持久化操作与 Dockerfile 指令详解
linux·运维·docker·容器·云计算
斯普信专业组4 小时前
Kafka主题运维全指南:从基础配置到故障处理
运维·分布式·kafka
中国软件测试质量协会5 小时前
UI自动化测试:现状,效果和最佳实践
ui·自动化·ui自动化·webui·界面自动化
倔强的石头1065 小时前
【Linux指南】用户与系统基础操作
linux·运维·服务器