java接口自动化系列(01):自动化测试框架设计(入门版)

发布时间 2023-12-16 12:38:27作者: 全栈测试笔记

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/17883399.html

前言

想必很多测试小伙伴自动化都是用的python吧?

从当前测试招聘要求可以看到,测试开发就是全栈要求,要想在职场有竞争力,就得多个技术方向逐个提升;

而和自动化、测开、性能、白盒等都相关的语言就是java,当然,这是基于很多公司项目是java来说的,

毕竟Java已经发展了近20年,丰富的周边框架打造了一个繁荣稳固的生态圈,短期内很难完全被替代;

所以,大局观上看,大家可以尝试下java自动化,除了可以自动化落地,也可以巩固自己的java基础,为提升性能、白盒等打好基础。

 

设计原则

1、复用性高:公共的方法提取出来

2、维护方便:可变的环境等参数,提取出来放到配置文件中

3、低耦合:灵活应用反射;数据和代码分离

4、问题追踪:必要的日志记录

5、结果展示:生成直观的测试报告

6、扩展性高

 

技术栈

javase:封装、泛型、反射、jdbc等

testng:开源测试框架,是从Junit继承而来

httpclient:java提供的与服务端http接口进行交互的库

allure:测试报告

fastjson:处理json字符串、json数组

jsonpath:解析json数据

poi:操作excel

 

目录结构规划

├─caseData 存放测试数据,比如excel文件
├─logs 存放日志文件
├─src
│  ├─main
│  │  ├─java
│  │  └─resources
│  └─test
│      ├─java
│      │  └─com
│      │      └─qzcsbj
│      │          └─autotest
│      │              ├─entity 实体类
│      │              ├─testcase 测试用例
│      │              └─utils 工具类
│      └─resources 配置
└─testngXML 存放testng.xml文件