自动化测试平台:自组织,自适应,自感知,自编程

一、前言

为了减轻脚本开发成本和后续维护成本,减轻系统对人员的依赖,降低人员离职风险,整合组内成员的手头生产资料,提高复用性降低内耗沟通成本,统一各个ui和服务端接口等自动化的用例颗粒度等,开发一套了可以融合各个端自动化测试的平台。

二、项目介绍

本平台特点为:自组织,自适应,自感知,自编程 。 

技术栈为:python3 + django + vue + elementUI/bootstrap5 +html/js/jq + selenium + appium + airtest + reuqest + 多进程/线程/协程+unittest+pytest+mitmproxy + wqrfnium +wqrfproxy+  wqrfnium-app + django_task_mq + python_jenkins_monitor等多种技术融合实现。

功能包含:脚本管理、项目管理、并发串行自由、环境/安装包/各种配置在线设置、用例自由组合、监控线上、ci/cd、仿jenkins定时任务、测试报告、在线抓包、实时mock、埋点测试、文档导入、用户个人等数十种庞大功能功能。

平台亮点:多端各种自动化脚本多合一,自动维护。

三、项目展示

四、项目经验分享

本平台项目在融合了以往多种业内主流自动化测试的基础上,增加了 自组织,自适应,自感知,自编程 的初步能力。

其中:

【自组织】是在平台接收到来自日志或外部各种杂乱混乱的数据和用例需求的时候,可以自行按照指定规则(步骤、断言、PTE矩阵)来生成一定规范能力的关键字表。

【自适应】能力为在ui自动化定位失败的时候,利用wqrfnium可以自行的修改page-object模式下的元素库定位方式,使其按照最大成功率进行覆写,使自动化脚本极大提高了适应频繁变化的前端页面。

【自感知】能力分为感知和输入俩个部分,其中感知又分为监控力和理解力,监控力分为从gitlab中监控代码的提交变更范围和从末端页面源码监控,理解力是靠精准追踪来找到本次代码更新的相关文档如bug或新需求等,进行解析关键字的方式(后续准备替换成chatGPT来负责),而输入则支持人手动各种接口或文本文件上传后直接给理解模块。

【自编程】能力为在前面过程中产生的如用例关键字表、新理解关键字表等,采用闭包动态方案,生成临时的脚本代码,这些脚本即作为自动化的初步执行测试版本,后续再不断的反复矫正提高准确度。

总的来说,这个平台是对未来的测试平台的一次胆大尝试,落地效果还是不错的,后续会持续的对各部分、各组件进行优化迭代,谢谢。

猜你喜欢

转载自blog.csdn.net/qq_22795513/article/details/130294859
今日推荐