java接口自动化,基于SpingBoot架构

1:环境准备:jdk1.8
依赖管理:maven
代码管理:git

 二、框架结构

data ————————————————测试数据目录
| rus ————————————————项目目录(不同项目不同名称)
| | searchbydetail.json —————————测试数据文件
| | search.csv ————————————数据驱动文件
report —————————————————测试报告目录
src
| main
| | java
| | | com.tal.seg.autotest
| | | | commontools ——————实体类等目录
| | | | rus ———————————项目目录
| | | | | QuestionSearch.java ———测试用例文件
| | | | utils —————————— 工具类目录

三:项目配置:
在这里插入图片描述
说明:配置文件分别对应开发、线上、测试环境,可将项目中的url和数据库信息写到相应的文件中。通过@value引用url进行使用。
@Value(“${recommendEngine.url}”)
public String recommandUrl;

通过application.properties 设置激活dev test pro 环境
在这里插入图片描述

    通过![在这里插入图片描述](https://img-blog.csdnimg.cn/cc6828ab48724b73a779893b0131f8eb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQyMzU0MTk5,size_13,color_FFFFFF,t_70,g_se,x_16)

四、测试用例组成
1、测试用例文件:提供请求头,请求方法等信息(对应框架示例中的QuestionSearch.java);
2、测试数据文件:
1)数据驱动文件:提供用例序号,测试用例描述,请求体文件位置,预期结果等信息(对应框架示例中的search.csv);
在这里插入图片描述

请求体文件:提供请求体信息(对应框架中的searchbydetail.json)
在这里插入图片描述
五、测试用例编写
1、获取文件所在目录
在这里插入图片描述
说明:rus可替换为自己起的项目名称。
2、获取测试数据

(1)数据驱动方式,通过读取测试数据文件列表作为测试用例。

在这里插入图片描述

说明:
@BeforeClass:在调用当前类中的第一个测试方法之前运行,只执行一次;
@DataProvider: 数据驱动文件;
@Test:获取测试数据执行用例;注意参数要与数据驱动文件中的参数个数保持一致;
注意:
一个文件中可以包含多个@Test和@DataProvider;
@DataProvider中的name要和@Test中的dataProvider保持一致;
在这里插入图片描述
注意:参数个数要与数据参数文件一致

3 单个测试数据文件作为一个测试用例

在这里插入图片描述
说明:直接以searchbyteach.json作为测试数据文件。

4)从数据库获取数据
在这里插入图片描述
3、调用接口
根据需要添加请求头:
在这里插入图片描述

根据请求地址,请求体,请求头参数调用接口:
在这里插入图片描述
支持doPostJson,doPost,doGet等方法,具体可参见Utils目录下的HttpUtils.java。
4、断言
1)org.testng.Assert 用来校验接口测试的结果,提供多个断言的方法可直接使用:
fail 直接失败测试用例,可以抛出异常。
assertTrue 判断是否为true;
assertFalse 判断是否为false;
assertNull 判断是否为null;
assertNotNull 判断是否不为null;
assertEquals 判断是否相等;
assertNotEquals 判断是否不相等;
assertEqualsNoOrder 判断忽略顺序是否相等;

2)直接调用utils.Commontools.assertResult方法,验证返回值中的

在这里插入图片描述
3) 直接调用utils.Commontools.assertResult方法,验证返回值中的code,message,适用于入参错误/传参错误,message给出提示信息的情况

在这里插入图片描述
4)对返回结果进行自定义验证,如判断是否包含某个字符串,字符串出现次数等;
5、执行
支持对单个方法、文件或者testng.xml执行测试用例;testing-all.xml中可以包括多个测试用例文件,并且同时可建立多个testng.xml文件,为每个项目配置对应的testng.xml文件。
在这里插入图片描述
六、日志
使用logback打印日志到控制台:

private static final Logger logger = LoggerFactory.getLogger(UseLogback.class);
logger.debug(“–> Hello debug.”);
logger.info(“–> Hello in
fo.”);logger.warn(“–> Goodbye warn.”);
logger.error(“–> Goodbye error.”);

七、测试报告
使用extentReport生成测试报告,常用语句示意如下:
1、测试报告名称及存放位置
在这里插入图片描述
6;执行成功后会自动显示在report目录下,示例:
在这里插入图片描述

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值