扫码阅读
手机扫码阅读
构建一个适应业务变化的自动化框架体系
381 2023-08-22
-
前台架构的历史问题
虽然前台已经规范过一次,添加了不少的ID,但是由于本身技术架构的问题,会影响自动化的执行效果(页面渲染后会异步加载Jquery的事件部分,构建对象操作)。在该架构下虽然页面已经渲染完成,但是所有对象都是无法操作的,需要等到异步js加载完成才能实现效果。
-
后台架构的历史问题
传统系统还无法做到完全的前后台分离,部分接口使用了老式的servlet返回HTML页面,也有部分结构升级了局部的Json体系,在这种情况下对于接口测试也面临着入参配置,出参断言及前后数据依赖维护复杂的问题。
-
UI方面
基于基本PO的封装,由于无法有效的获取js加载的周期,在全新页面中加入全局等待时间,确保对象操作不受影响,也降低了每个对象都要等待的执行效率低下。 与前端同步的PO封装,同步目录结构及名称,可以极大的提升前端开发与自动化脚本的同步性,甚至赋能前端同步对象变化。 基于业务的页面功能封装,从业务视角进行页面功能封装,让任何一个接手人员可以在不了解方法功能的情况下也能简单完成业务组合及操作。 -
API方面
使用多套接口基础(OKHTTP和Jsoup),对于标准的Restful基于OKHTTP的封装,基于传统的HTML返回基于Jsoup的封装。因为Jsoup对于返回的HTML能够使用标准的DOM模式处理,在提取对象和断言上会方便很多。 为同一业务构建API方法封装与UI方法对应。在PO中融合UI及API,这样可以快速评估某功能是否实现了UI及API的双重校验,避免遗漏。 支持测试用例的UI及API混用模式,以Junit5为基础。 与研发接口匹配的接口规划及内部(Service层)测试能力。 测试数据构建的策略支持,基于Dao层的驱动能力。 一定的数据Mock隔离能力。 -
日志方面
统一日志格式及策略,基于底层封装实现任意用例的完整测试执行日志。
原文链接:
https://mp.weixin.qq.com/s?__biz=MzU5ODE2OTc1OQ==&mid=2247495060&idx=1&sn=933209f0c789e19ddbfa645e26db3d49
TestOps的其他文章
基于Real Options的Feature Injection
如何从目标获取范围本书专门提到了以下三种方法:\x0a特性注入、影响地图、用户故事地图。
Rust学习笔记(5)- 定义和实例化
Rust是一门系统编程语言,专注于安全 ,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust在语法上和C++类似 ,但是设计者想要在保证性能的同时提供更好的内存安全。
Rust学习笔记(4)-Ownership
OwnershipOwnership是Rust语言所特有的,用于运行时内存管理的一套规则。
测试开发进阶之旅
从2019年开始讲Spring的测开架构到2020年讲Go微服务开发,再到2021年中引入了DevOps平台开发的内容,如何讲走在行业前端一直是这门课程的定义,所以也对于讲师提出了讲自己觉得有用的东西的定位,也就有了下面的讲师总结。
关于2021年终总结的那些事
2021年风雨无阻的学习,只为了做更好的自己,理清楚自己想要的价值,然后勇往直前。愿2022大家工作、学习、生活都能更上一层楼,好好优化自己,不要制造内卷。
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线