首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DolphinScheduler 如何用 Java+Rest-Assured+PageObject 进行自动化测试

作者 | 闫旭平

本文将介绍如何基于 DolphinScheduler 和 REST Assured 来进行接口自动化测试,并使用 PageObject 模式管理你的测试用例。

最终产物:通过 PageObject +REST Assured + Junit 完成你的 Java 接口自动化测试,更加快捷、高效地保证你的项目接口质量。

01

概念简介

01

接口自动化测试

一般讲的接口测试指的是对某个给定接口进行功能测试,输入不同的参数时,接口返回值是否正确。下图是经典的测试金字塔模型。

在这个模型中,越往下比例会占的越高,也就是说在一个产品测试中,单元测试比例是最高的,依次是接口测试和 UI自动化测试,最顶端是人工测试部分。服务端接口测试在中部,承上启下,由此可见其重要性。

简单来说,接口测试就是参照接口文档,调用接口,看结果的返回是否跟文档说明一致;另外,再测试一下接口对异常逻辑的处理比如非法参数或边界值。

而接口自动化测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。接口自动化测试具有数据与脚本分离,测试结果自动提交通知,提高测试脚本和测试数据的维护便利等优点。

02

REST-assured

REST-assured 是一个开源的 Java 库,用来测试和验证 REST API。动态语言如 Groovy,Ruby 执行 API 测试非常简单,但对 Java 来说就有点费力了。而 REST Assured 使得用 Java 语言测试 API 和使用 Ruby 和 Groovy 执行测试一样简单。

REST Assured 是一种 JAVA DSL(Domain Specific Language)领域特定语言 [ 通常被定义为一种特别针对某类特殊问题的计算机语言,它不打算解决其领域外的问题。],用来简化测试 REST Services,并简化 HTTP Builder 顶层。REST Assured 支持发起任意 HTTP 请求 GET, POST, PUT, DELETE, OPTIONS, PATCH 和 HEAD, 包括详述清单,比如参数,头部,cookie 和实体,并验证这些请求的响应。

REST Assured 基于Apache Http Client,提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且支持 HTTP 协议最新的版本。

下面介绍基于 DolphinScheduler 和 REST Assured 进行接口自动化测试的全过程。

02

安装

01

Java8环境

配置Java环境变量,~/.bashrc 或者 ~/.zshrc

Apache DolphinScheduler 3.1.2

详细安装可见官网:https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/guide/installation/standalone.html

下载DolphinScheduler 3.1.2

启动DolphinScheduler

启动后,稍等一会服务启动即可进入DolphinScheduler的页面

打开 http://localhost:12345/dolphinscheduler/ui,可以看到DolphinScheduler页面

账号:admin,密码:dolphinscheduler123

02

REST Assured环境

pom.xml中添加

03

新建配置文件

实例化RequestSpecification方法减少重复代码

Template方法是修改json文件,进行json文件参数化测试,只针对差异化参数修改json文件

初始化接口,重复的参数提炼成新方法供后面继承的方法调用

Session持久化,减少冗余鉴权

对项目增删改查接口进行建模

对项目增删改查接口进行测试

测试结果:

04

对数据源中心接口进行建模

数据源中心接口测试用例:

测试结果:

测试用例源码地址:https://github.com/XuXuClassMate/My_Test_JAProject/tree/master/dolphin/org.xuxuclassmate

05

总结

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230313A06XRY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券