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

后端:

前端:

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

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

相关推荐
但老师9 分钟前
Jenkins垃圾清理指南
java·运维·jenkins
山茶花.1 小时前
seacmsv9管理员账号+密码注入
运维
suzhou_speeder3 小时前
了解 PoE 扩展模式(Extend Mode)及其对数据速率的影响
运维·网络·交换机·poe·poe交换机
AustinCien4 小时前
1.4常规es报错问题
运维·elk·elasticsearch
AustinCien5 小时前
3.2实验filebeat->logstash->es
运维·elk
DC_BLOG6 小时前
Linux-Ansible模块完结
linux·运维·服务器·ansible
WIN赢6 小时前
【Deepseek+Browser-Use搭建 Web UI自动化】
运维·自动化
DataDynamos数动实验室6 小时前
BGP状态和机制
运维·网络·计算机网络·智能路由器
Henry_Wu0016 小时前
ubuntu 安全策略(等保)
linux·运维·ubuntu