基于docker容器技术的测试平台解决方案(dap)

2019-07-31  本文已影响0人  chuckielove

转载:https://mp.weixin.qq.com/s/sy5KvpdP34wxtTY-G-j0aQ

1、DAP平台介绍

技术栈:

flask ,python docker sdk,docker

工具

portainer harbor

2、DAP功能设计

dap通过对外的api并行运行自动化测试,返回测试日志,理论上运行时间就是最小suite运行时间,只要suite足够小,dap就可以足够快。

2.1、API设计

2.1.1、上传组件安装包和测试包

http://10.8.61.36:8080/dap/rpms/upload/xxx

xxx为要运行测试组件名称

2.1.2、制作镜像

http://10.8.61.36:8080/dap/build/image

2.1.3、运行自动化测试

http://10.8.61.36:8080/dap/run/test

2.1.4、测试运行状态监测

http://10.8.61.36:8080/dap/check/status

2.1.5、下载日志

http://10.8.61.36:8080/dap/logs/download

2.2、Docker管理工具

选择宿主机后再进行容器和镜像的管理:

容器管理

2.2.2.1容器生命周期管理

2.2.2.2容器资源占用情况查询

2.2.2.3容器日志查看

2.2.2.4于容器内部交互

2.2.2 镜像管理

2.3私有镜像仓库的管理

2.3.1 提交自定义镜像到私有仓库

2.3.1.1要先在harbor上创建组件对应的项目

比如A组件要先创建A项目后才能上传镜像

2.3.1.2 登录私有仓库

配置/etc/hosts

修改vi /etc/docker/daemon.json

添加{ "insecure-registries":["dap.registry.com"] }

登录私有仓库

Docker login dap.registry.com

输入用户名 admin 密码:xxx

登录成功提示:

2.3.1.3 给源镜像打tag:

Docker tag 源镜像 dap.registry.com/A/A-env

2.3.1.4提交镜像

Docker push dap.registry.com/appa/A-env

2.3.1.5 harbor上查看

URL:http://10.8.61.36/harbor

3、DAP接入

3.1、定制自己组建的标准环境镜像

3.2、上传组建标准环境镜像到私有仓库dap.registry.com

3.3、准备迭代所需的rpm包,组建包和测试包

3.4、调用dap api运行测试,收集测试结果

4、持续集成CI

4.1Jenkins调用流程(A组件)

1、首先需在测试主机上进行相关信息配置,如docker测试API地址、物理测试机或VPS测试机ip端口、运行所需软件包路径。

2、持续集成平台启动任务(可定时、依赖其余任务触发),测试主机接收启动指令,从SVN下载测试脚本源码并打包成测试套件包。

3、筛选运行套件,若需docker测试(内核无关部分),则启动docker测试进程,若需本地进行测试(内核相关部分),则启动本地测试进程,若需辅助测试机进行测试,则启动相应进程开启测试。

4、所有测试任务执行完成后,收集测试结果。

5、整合测试结果并上传到持续集成平台,持续集成平台进行结果展示

4.2 DAP调用流程:

5、阶段性成果

A测试组件容器化:

1.测试suite数量:总计128个,容器化88个,40+suite因内核相关未容器化。

2.vm耗时:按主机并发,并发度4;4台机器(2物理,2vps),6个小时跑完;

3.容器耗时:按suite并发,并发度88;dap平台;45分钟跑完

6、后期规划(需要收集相关需求)

研发,测试资源管理

数据分析展示

上一篇下一篇

猜你喜欢

热点阅读