0基础→自动化测试框架实现:java + testng + httpclient + allure

必备基础

java基础:https://www.cnblogs.com/uncleyong/p/15828510.html

配置文件解析(properties):https://www.cnblogs.com/uncleyong/p/15867779.html

fastjson的使用(处理json字符串、json数组):https://www.cnblogs.com/uncleyong/p/16683578.html

jsonpath的使用:https://www.cnblogs.com/uncleyong/p/16676791.html

java操作excel(通过POI):https://www.cnblogs.com/uncleyong/p/15867741.html

HttpClient的使用(get、post请求):https://www.cnblogs.com/uncleyong/p/15867745.html

TestNG用法:https://www.cnblogs.com/uncleyong/p/15867747.html

自动化测试框架设计

设计原则

1、低耦合:通过反射

2、数据和代码分离:数据源可以是excel、yaml、xml等,本次选择excel;@DataProvider的返回值类型可以是Object[][]或者Iterator[]

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

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

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

6、结果展示:生成测试报告

技术栈

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

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

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

allure:测试报告

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

jsonpath:解析json数据

poi:操作excel

目录结构规划

allure-results:运行后,自动生成的目录

caseData:存放测试数据,比如excel文件

logs:存放日志文件

testngXML:存放testng.xml文件

testReport:存放ExtentTestNGIReporterListener的测试报告,但是这个弃用了,因为allure更主流

0基础→自动化测试框架实现:java + testng + httpclient + allure_第1张图片

0基础→自动化测试框架实现:java + testng + httpclient + allure_第2张图片

逻辑

0基础→自动化测试框架实现:java + testng + httpclient + allure_第3张图片

待扩展功能

1、文件上传、下载
2、数据库验证
3、yaml数据源
4、。。。 

代码实现

详见源码

使用方式

配置修改

config.properties:配置环境ip、端口

testng.xml:配置测试数据excel文件的路径、sheet;测试集(test)、测试类集合(classes)、测试类(class)

jdbc.properties:数据库配置

测试数据维护

标题行:每个单词首字母大写,因为代码里面用到了反射

关键字段数据填写要求:

  Url:只写路径,不需要写ip、端口

  RequestType:目前只支持post、get

  Headers:json格式字符串,如果没有请求头,需要填写为{}

  Cookies:json格式字符串,暂未使用

  Parameters:json格式字符串,如果是非关联变量,填写为#{},如果是关联参数${}

  UploadFile:暂未使用

  InitSql:初始化sql,要求是json数字,例如:[{"sqlNo":"1","sql":"delete from users where username = 'qzcsbj11';"}]

  GlobalVariables:需要关联的参数值,格式样例:token=$.token;,左侧是字段名,右侧是其jsonpath路径,,并以英文分号结尾,多个断言字段用英文分号间隔

  AssertFields:要断言字段的jsonpath路径以及值,并以英文分号结尾,多个断言字段用英文分号间隔,如:

$.code=9550;$.msg=success;

运行

执行testngXML目录下的testng.xml文件即可

allure报告

https://www.cnblogs.com/uncleyong/p/16683084.html

0基础→自动化测试框架实现:java + testng + httpclient + allure_第4张图片

企业级自动化持续集成

可以整合python、java等自动化框架

git + gitlab + jenkins + pipeline + maven + harbor + docker + k8s

https://www.cnblogs.com/uncleyong/p/16721826.html

【建议收藏备用】热门技术、项目实战、简历、笔试题、面试题、职业规划(助你少走弯路,轻松跳槽加薪)

点击学习:https://www.cnblogs.com/uncleyong/p/15777706.html

包含以下内容:

测试实战:
	性能:jmeter + k8s + 微服务 + skywalking + efk,测试都在学的热门技术
	自动化:python版、java版
	测开:待更新

简历:写出一份高质量简历

笔试题:linux、shell、mysql、java、python、测开、性能、自动化、docker、k8s等

职业规划:让你少走弯路,尽早跳槽加薪,方向不对,努力白费

摸鱼:上班正确的摸鱼方式

原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/15867903.html

你可能感兴趣的:(java,json,开发语言,junit)