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

后端:

前端:

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

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

相关推荐
g***72703 分钟前
(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)
自动化·jenkins·maven
聚梦小课堂1 小时前
在n8n中清理单个飞书文档所有内容的方法
自动化·飞书·n8n
xuchaoxin13751 小时前
cdn节点代理的副作用@fail2ban对接cdn封锁恶意请求ip@fail2ban封锁ip有效性问题
运维·网络·cdn·cloudflare
科普瑞传感仪器2 小时前
从轴孔装配到屏幕贴合:六维力感知的机器人柔性对位应用详解
前端·javascript·数据库·人工智能·机器人·自动化·无人机
q***04632 小时前
Linux环境下Tomcat的安装与配置详细指南
linux·运维·tomcat
好奇的菜鸟2 小时前
在 WSL 中安装 Docker
运维·docker·容器
x***44013 小时前
linux 设置tomcat开机启动
linux·运维·tomcat
2301_804947583 小时前
nginx的https的搭建
运维·nginx·https
K***43063 小时前
httpslocalhostindex 配置的nginx,一刷新就报404了
运维·nginx
正在努力的小河3 小时前
Linux 块设备驱动实验
linux·运维·服务器